Base Scenario Action
public abstract class BaseScenarioAction : IScenarioElement
Base class for one step of a scenario’s action sequence. Override the abstract Process(float deltaTime) method with your own logic, returning true once it’s done (some actions, like Wait, need several frames and keep returning false until they’re finished). New subclasses automatically appear in the Scenario Editor’s Actions dropdown.
For actions which need a unit target, derive from UnitTargetedAction instead (see Targets) - it adds a shared Target field.
Built-in action types:
Action |
Description |
|---|---|
Wait |
Waits a set number of seconds before the next action runs. |
SpawnUnits |
Spawns a list of units for a target player, cycling through a list of spawn point Transforms. |
MoveOrder |
(unit-targeted) Sends the targeted units a move order to a destination waypoint. |
CancelOrder |
(unit-targeted) Cancels all current orders of the targeted units. |
ChangeOwner |
(unit-targeted) Changes the owner player of the targeted units. |
ApplyDamage |
(unit-targeted) Damages the targeted units by a set amount and damage type. |
SelectUnit |
(unit-targeted) Selects the targeted units. |
AddResources |
Adds an amount of a chosen resource to a target player. |
ProduceUnits |
Queues units into the production line of one or more Production buildings. |
CameraLookAt |
Moves the camera to a target point. |
PingMinimap |
Shows a minimap signal ping at a world point. |
GameEnd |
Ends the match - victory or defeat for the local player. |
RunScript |
Runs a custom script of yours (any component implementing |
SkipRemainingActions |
Completes the current scenario immediately, skipping any actions still queued after it. |