/// <summary> /// Callback when the user selects the wait option from the CharacterActionMenu. /// </summary> /// <param name="character"></param> private void CharacterActionMenuWait(Object[] objects) { SelectedCharacter.DestroyMovableAndAttackableAndAssistableTransforms(); DestroyTradableSpaces(); GameManager.CharacterActionMenu.Hide(); SelectedCharacter.EndAction(); CurrentState = State.Free; Focus(); }
public override void OnCancel() { Debug.LogFormat("OnCancel: {0}", CurrentState); switch (CurrentState) { case State.Free: Character character = GameManager.CurrentLevel.GetCharacter(transform.position); if (character != null && AttackableRange.Characters.Contains(character)) { AttackableRange.RemoveCharacter(character); } else { AttackableRange.Clear(); } break; case State.ChoosingMove: // --> Free SelectedCharacter.DestroyMovableAndAttackableAndAssistableTransforms(); Path.Destroy(); CurrentState = State.Free; break; case State.ChoosingAssistTarget: // --> transform.position = SelectedCharacter.transform.position; GameManager.AssistDetailPanel.Hide(); CharacterActionMenuAssist(); break; case State.ChoosingAttackTarget: // --> ItemSelectionMenu transform.position = SelectedCharacter.transform.position; GameManager.AttackDetailPanel.Hide(); CharacterActionMenuAttack(null); break; case State.ChoosingTradeTarget: // --> CharacterActionMenu DestroyTradableSpaces(); transform.position = SelectedCharacter.transform.position; ShowCharacterActionMenu(SelectedCharacter); break; default: Debug.LogErrorFormat("Invalid Cursor.State in OnCancel: {0}", CurrentState); break; } }
/// <summary> /// Callback when the user cancels from the CharacterActionMenu. /// </summary> /// <param name="character"></param> public void CharacterActionMenuOnCancel(params Object[] objects) { SelectedCharacter.DestroyMovableAndAttackableAndAssistableTransforms(); DestroyTradableSpaces(); if (SelectedCharacter.HasTraded) { SelectedCharacter.EndAction(); CurrentState = State.Free; } else { SelectedCharacter.Move(SelectedCharacterOldPosition); SelectedCharacter.CreateAttackableTransforms(); CurrentState = State.ChoosingMove; Path.Show(); } GameManager.CharacterActionMenu.Hide(); Focus(); }