Welcome to the turret controller. Where you as post war AI doing different task to survive.
This system tries to solve problem of letting player or AI queuing different actions for units and latter on executing those actions in one non interactive cycle/turn.
- Unit - a single unit that can queue actions
- Action - definies data requier to execute
QueuedAction - ActionController - is responsible for executing
Action - ActionTarget - containe information about target location(Vector2) or target(
Unit) used byActionController - QueuedAction - contains information necessary to start
Action - ActionView - defines how target selection preview for action appears
- UnitQueueExecutor - is responsible for executing
QueuedActionfor queuedUnits. Theunitsorder in queue depends on their speed. EveryQueuedActionfor currentUnitneed to be finished before proceeding to nextUnitin the queue.Reactioncan happend between everyQueuedAction. You can think aboutReactionas events, that happend in result ofQueuedAction, for example explosion of barrel or dead of enemy.