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]; } }
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); }