using Code.OfficeGame.BattleMode.Actions.Deciders; using Code.OfficeGame.BattleMode.Timeline; namespace Code.OfficeGame.BattleMode.Actions { public abstract class BattleAction { public abstract void Tick(float tickDelta, EntityProperties entity, BattleActionDecisionResult battleActionDecisionResult, BattleActionData battleActionData); public abstract BattleActionType ActionType { get; } public abstract DeciderType DeciderType { get; } public abstract BattleActionData MountAndGetFrames(EntityProperties entity, BattleActionDecisionResult result); protected BattleTimeline battleTimeline; public void SetBattleTimeline(BattleTimeline battleTimeline) => this.battleTimeline = battleTimeline; } }