private void Cleanup(BattleUIState state) { switch (state) { case BattleUIState.SelectingUnit: break; case BattleUIState.SelectingAction: HoverTileEnableSignal.Dispatch(); UnitDeselectedSignal.Dispatch(); break; case BattleUIState.SelectingFightAction: break; case BattleUIState.SelectingAttackTarget: ClearHighlightSignal.Dispatch(HighlightLevel.PlayerAttack); break; case BattleUIState.SelectingInteractTarget: ClearHighlightSignal.Dispatch(HighlightLevel.PlayerInteract); break; case BattleUIState.SelectingMoveLocation: ClearHighlightSignal.Dispatch(HighlightLevel.PlayerAttack); ClearHighlightSignal.Dispatch(HighlightLevel.PlayerMove); PathUnavailableSignal.Dispatch(); break; case BattleUIState.Fighting: HoverTileEnableSignal.Dispatch(); break; case BattleUIState.CombatantMoving: break; case BattleUIState.ForecastingCombat: FightForecastDisableSignal.Dispatch(); break; case BattleUIState.Uninitialized: break; case BattleUIState.PhaseChanging: HoverTileEnableSignal.Dispatch(); CameraUnlockSignal.Dispatch(); break; case BattleUIState.EnemyTurn: HoverTileEnableSignal.Dispatch(); CameraUnlockSignal.Dispatch(); break; case BattleUIState.ContextMenu: break; case BattleUIState.Preparations: break; case BattleUIState.Surveying: break; case BattleUIState.EventPlaying: break; default: throw new ArgumentOutOfRangeException("state", state, null); } }
private void Setup(BattleUIState state) { switch (state) { case BattleUIState.CombatantMoving: break; case BattleUIState.SelectingUnit: HoverTileEnableSignal.Dispatch(); break; case BattleUIState.SelectingAction: HoverTileDisableSignal.Dispatch(); break; case BattleUIState.ForecastingCombat: break; case BattleUIState.SelectingFightAction: break; case BattleUIState.SelectingAttackTarget: SetupAttackTargetState(); break; case BattleUIState.SelectingInteractTarget: SetupInteractTargetState(); break; case BattleUIState.SelectingMoveLocation: SetupMoveLocationState(); break; case BattleUIState.Fighting: HoverTileDisableSignal.Dispatch(); AnimateActionSignal.Dispatch(Model.PendingAction); break; case BattleUIState.Uninitialized: break; case BattleUIState.PhaseChanging: HoverTileDisableSignal.Dispatch(); CameraLockSignal.Dispatch(); break; case BattleUIState.EnemyTurn: CameraLockSignal.Dispatch(); HoverTileDisableSignal.Dispatch(); EnemyTurnStartSignal.Dispatch(); break; case BattleUIState.ContextMenu: HoverTileDisableSignal.Dispatch(); break; case BattleUIState.Preparations: CameraLockSignal.Dispatch(); break; case BattleUIState.Surveying: CameraUnlockSignal.Dispatch(); break; case BattleUIState.EventPlaying: break; default: throw new ArgumentOutOfRangeException("state", state, null); } }