Skip to main content

Event Nodes

GCS · Built-In Node Library

Notify another graph or an integrated event system.

Use `Raise Internal Event` for named signals inside GCS. Use `Raise GES Event` only when Game Event System is installed and the graph must raise a selected GES asset.

Use Raise Internal Event for named signals inside GCS. Use Raise GES Event only when Game Event System is installed and the graph must raise a selected GES asset.


Node Usage

Raise Internal Event

Broadcasts a named event through the current GCS battle controller. Use it with On Internal Event to let separate graphs react without a direct wire between them.

Inputs

  • In(Control):Raises the event when execution reaches the node

Outputs

  • Out(Control):Continues after the synchronous event raise

Parameters

  • Event Name(String):Empty;Exact name received by matching On Internal Event entries; an empty name does nothing
  • Arg Bindings(Binding list):Empty;Named values added to the event payload

Each binding contains Arg Name, Source, and Fixed Value. Blank names are skipped; repeated names overwrite the earlier value. Source can be Fixed, SourceUnitId, DefaultTargetUnitId, AttackerUnitId, LastDamage, LastArmor, LastHeal, CardInstanceId, CardSourceGuid, BattleTurnNumber, or PlayerEnergy. Context values fall back to 0 or an empty string when unavailable.

The raise does nothing when the battle controller is unavailable. Listeners compare the event name exactly, so keep spelling and capitalization consistent.

Raise Internal Event node with an event name and argument bindings

Raise GES Event

Raises a Game Event System event by asset GUID. Use it to bridge a card, status, or enemy graph into project-level systems that already listen through GES.

Inputs

  • In(Control):Builds the configured sender and argument, then raises the GES event

Outputs

  • Out(Control):Continues after the raise attempt

Parameters

  • GES Event Guid(Asset GUID):Empty;Shown as the GES Event asset picker; the other rows appear only after a valid event is selected and the integration is available
  • GES Arg Type Full Name(Type name):Empty;Written automatically from the selected event's argument type and not shown as an editable text field; selects the builder path but does not convert raw values
  • GES Arg Source(Context source):Fixed;Shown as Arg Source only for a primitive-like argument; chooses the raw Fixed, integer context, or GUID string value
  • GES Arg Fixed Value(String):Empty;Shown as Arg Value only when the primitive argument source is Fixed
  • GES Arg Object Value(Unity object):None;Shown as the Arg object picker only when the argument type derives from UnityEngine.Object
  • GES Arg Json(JSON):Empty;Backing storage for a non-primitive, non-Unity-object argument; edited through the structured Arg popup rather than a raw JSON field
  • GES Sender Type Full Name(Type name):Empty;Written automatically from the selected event's sender type and not shown as editable text; enables the sender + argument overload without coercing the raw value
  • GES Sender Arg Source(Context source):Fixed;Shown as Sender Source only for a primitive-like sender; chooses the raw Fixed, integer context, or GUID string value
  • GES Sender Fixed Value(String):Empty;Shown as Sender Value only when the primitive sender source is Fixed
  • GES Sender Object Value(Unity object):None;Shown as the Sender object picker only when the sender type derives from UnityEngine.Object
  • GES Sender Json(JSON):Empty;Backing storage for a complex sender; edited through the structured Sender popup rather than a raw JSON field

Both source dropdowns offer Fixed, SourceUnitId, DefaultTargetUnitId, AttackerUnitId, LastDamage, LastArmor, LastHeal, CardInstanceId, CardSourceGuid, BattleTurnNumber, and PlayerEnergy. With no sender or argument type, the parameterless event is raised; an argument type uses the single-argument overload; a sender type uses the sender + argument overload. Invalid type names or failed JSON produce null values, and JSON failures are logged.

Primitive values are not converted to the declared type

Fixed always produces a String. Unit IDs, damage, armor, healing, card instance ID, turn number, and energy produce an Integer; CardSourceGuid produces a String. Declaring float, bool, long, or another primitive type does not convert those raw values before the GES bridge passes them to the strongly typed event. Match the declared type to the actual raw value, or use a correctly typed Unity object / JSON value; a mismatched primitive value can fail to raise the typed event

GES integration

This node requires the optional Game Event System bridge. If the project does not include GES, use Raise Internal Event for communication inside GCS

Raise GES Event node configured for a Game Event System asset