Exemple #1
0
    public void ActivateActionSelection()
    {
        var leaf = SelectedAction as LeafMenuNode;

        if (leaf != null)
        {
            _finalizedAction = leaf.Move;
        }
        else
        {
            if (SelectedAction.Children.Count == 0)
            {
                if (SelectedAction == Menu[ATTACK])
                {
                    _moveContent.transform.parent.parent.gameObject.SetActive(true);
                    AddListDisplay(Battle.Instance.CurrentMonsterTurn.Item2.Moves.ToList(), _moveContent);
                }
                else if (SelectedAction == Menu[ITEM])
                {
                    _itemContent.transform.parent.parent.gameObject.SetActive(true);
                    AddListDisplay(Battle.Instance.CurrentMonsterTurn.Item1.Items.Cast <BattleExecutable>().ToList(), _itemContent);
                }
                else if (SelectedAction == Menu[SWAP])
                {
                    _monsterContent.transform.parent.parent.gameObject.SetActive(true);
                    //TODO
                }
            }
            SelectedAction = SelectedAction.Children[0];
        }
    }
Exemple #2
0
    public async Task <BattleExecutable> WaitForActionInput()
    {
        if (Battle.Instance.NextMove == null)
        {
            CancelActionSelection();
        }
        _battleUICanvas.SetActive(true);

        while (_finalizedAction == null)
        {
            await Task.Delay(10);
        }

        var tempAction = _finalizedAction;

        _finalizedAction = null;

        return(tempAction);
    }