private void OnSubmitChoosingMove(Vector2 currentPosition) { Debug.LogFormat("OnEnterChoosingMove: {0}", currentPosition); foreach (Transform movableSpace in SelectedCharacter.MovableTransforms) { if (currentPosition.x == movableSpace.position.x && currentPosition.y == movableSpace.position.y) { Debug.Log("Found MovableSpace"); Character checkCharacter = GameManager.CurrentLevel.GetCharacter(currentPosition); if (checkCharacter != null && !checkCharacter.Equals(SelectedCharacter)) { Debug.Log("Spot already taken!"); CurrentState = State.ChoosingMove; return; } SelectedCharacterOldPosition = SelectedCharacter.transform.position; SelectedCharacter.Move(transform.position); HideInformationPanels(); ShowCharacterActionMenu(SelectedCharacter); return; } } Debug.Log("Enter was pressed outside MovableSpaces"); }
/// <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(); }