Private _bgmPrivate audio_Private audio_Private bgm_Private fade_Private finish_Private in_Private loopPrivate volumeStatic eventsThe events object where the keys are the ids.
Static id_The GameEvents id incrementer.
Static labeled_The events object where the keys are the events labels.
Whether this GameEvent is active or not.
The GameEvent id number.
If true, Reveal Psynergy won't be stopped on this event fire.
An unique label that identifies this GameEvent. This is optional.
The GameEvent type.
This function is the one that should be called to start a event. It should never be overriden. Always before this function is called, it's checked whether Reveal psynergy is being casted, if yes, it's stopped before this event start.
Optional origin_npc: NPCthe NPC that originated this game event.
if the child class has an async fire function, returns its Promise.
Static get_A helper function that defines the ControllableChar based on inputs. The controllable char can be a hero or a npc.
The GoldenSun instance.
Some options to help defining the char.
Optional is_Whether it's a npc or not.
Optional npc_The npc index number.
Optional npc_The npc unique label identifier.
the defined char.
Static get_Static get_Static reset
This is the class reponsible for general events of the game. Every game event class must inherit from this class. Whenever a game event is instantiated, this event receives an unique id. These ids are reset whenever a map is destroyed. In order to fire a GameEvent, calls GameEvent.fire. In order to destroy a game event, calls GameEvent.destroy. Game events can be fired from TileEvents, NPC or Interactable Objects interaction, map changes or other game events. For easy reference/example, check base/game_events/EmoticonEvent.ts. Whenever an asynchronous game event is fired, increments the GameEventManager.events_running_count, so the engine knows that there's an event going on. When the event is finished, decrements the same variable. If your event has internal states, don't forget to reset them on finish. When creating a new GameEvent class, add its instantiation in GameEventManager.get_event_instance factory method.