public override void OnRegister() { base.OnRegister(); HoveredTileChangeSignal.AddListener(OnHighlightPositionChange); HoverTileEnableSignal.AddListener(OnHighlightEnable); HoverTileDisableSignal.AddListener(OnHighlightDisable); ClearHighlightSignal.AddListener(OnClearHighlight); MapHighlightSignal.AddListener(OnHighlight); }
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); } }