Base Scenario Event ====================== .. code-block:: csharp public abstract class BaseScenarioEvent : IScenarioElement Base class for a condition which can trigger a scenario. Add your own by deriving from it - new subclasses automatically appear in the Scenario Editor's **Events** dropdown. Built-in event types: ================================ ============== Event Description ================================ ============== **MatchStartedEvent** Fires once, when the match starts. No parameters. **UnitSelectedEvent** Fires when a unit owned by a specific player (``PlayerId`` + ``CompareMode``) is selected. **UnitDiedEvent** Fires when a unit matching a configured ``UnitTarget`` dies. **TriggerZoneEvent** Fires when a unit enters or exits a :doc:`trigger_zone` (``Type``, a ``ZoneTriggerType`` of ``Enter``/``Exit``). Reacts to every Trigger Zone in the scene - there is no per-zone filtering yet. ================================ ============== Hooking up a custom event subclass to a real game event still requires a small code change of your own - see ``ScenariosSystem.MakeBuiltInSubscriptions`` for how the built-in ones are wired up.