Forum rules - please read before posting.

ActionList Events Multi-Object support

Hello,

I was curious if there any plans at some point to add multi-object versions of some the various existing Action List events. Some events that come to mind where I can see that being pretty useful is with

1.) Object Fade Sprite
2.) Object Visiblity
3.) Hotspot enable/disable

I'm sure there are other existing events that could benefit from this too but these are the ones that come to mind, especially since I find myself using these really often.

For example whenever I initiate a dialogue sequence between several characters I find that my dialogue scripts always start off the same (i.e. fade in the dialogue portraits of all the characters involved in the dialogue, do a bunch of text speech events between the characters, fade out the dialogue portraits of the characters at the end). Currently to achieve this I always end up creating "N" number ObjectFadeSprite events for each character portrait I am fading-in/fading-out at the beginning/end of the dialogue sequences.

I figured having a single event to call where I can specify a list of all the character objects who's portraits I want faded could definitely be a time saver (it would be a little quick from a work flow perspective). I'm sure I can write a customized action list event myself that does this, but was just curious if there are plans to eventually add native support for something like this

Comments

  • It's a bit of a can of worms, I feel. The advantage that the built-in Actions with being for singular objects is that you can override fields with parameters and Constant ID values.

    Making use of ActionList Parameters is the intended way of "recycling" commonly-used Actions, as they can be used to dynamically set Action fields as they're run.

    One trick to have multiple objects affected by the same Action is to make use of an ActionList asset that has its Can run multiple instances? checked, give it an Action (or Actions) you wish to run simultaneously for different objects, override the appropriate fields with parameters, and then chain together a series of ActionList: Run Actions to run it multiple times with different values.

    Parameters can also be set through script. Though, since Actions themselves are largely a means of calling more internal AC functions, if you involve custom scripting it is often easier to simply bypass Actions and update the relevant objects directly, for example:

    Hotspot[] myHotspots = ...
    foreach (Hotspot hotspot in myHotspots)
    {
        hotspot.TurnOn ();
    }
    
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.