namespace Code.OfficeGame.BattleMode.Actions { public class WaitBattleActionData : BattleActionData { public bool StartedWaiting = false; public int WaitFrames; public override BattleActionData GetSnapshot() { return new WaitBattleActionData { TotalFrames = TotalFrames, WaitFrames = WaitFrames, StartedWaiting = StartedWaiting }; } public override void RestoreSnapshot(BattleActionData snapshot) { TotalFrames = snapshot.TotalFrames; if (snapshot is not WaitBattleActionData waitSnapshot) return; WaitFrames = waitSnapshot.WaitFrames; StartedWaiting = waitSnapshot.StartedWaiting; } } }