Пример #1
0
        private void ItemSelectionMenuOnSelectAttackItem(Object[] objects)
        {
            Item item = GameManager.ItemSelectionMenu.MenuItems[GameManager.ItemSelectionMenu.CurrentMenuItemIndex].ItemObject;

            Debug.LogFormat("Selected a weapon: {0}", item.Text.text);
            SelectedCharacter.Equip(item);

            AttackableSpacesWithCharacters.Clear();
            HashSet <Vector2> attackablePositions = SelectedCharacter.CalculateAttackablePositions(transform.position.x, transform.position.y, ((Attackable)item).Ranges);

            AttackableSpacesWithCharacters
            .AddRange(SelectedCharacter
                      .CreateAttackableTransforms(SelectedCharacter
                                                  .ExtractAttackablePositionsWithCharacters(attackablePositions)));

            CurrentState = State.ChoosingAttackTarget;
            GameManager.ItemSelectionMenu.Hide();
            SetAttackableSpaceWithCharacter();
            Focus();
        }
Пример #2
0
        /// <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();
        }