private async Task <List <MoveContext> > getPlayerCreatureMoveRequests() { //TODO properly implement //List<Pair<BattleCreature, Move>> moveReqs = new List<Pair<BattleCreature, Move>>(); List <BattleCreature> activeCreatures = positionManager.getActiveCreatures(); BattleCreature c = positionManager.getActiveCreatures()[0]; List <SelectButton <Move> > buttons = new List <SelectButton <Move> >(); c.getMoves().ForEach(m => { buttons.Add(SelectButton <Move> .create(m)); }); List <SelectButton <Move> > dblButtons = new List <SelectButton <Move> >(); dblButtons.AddRange(buttons); dblButtons.AddRange(buttons); Move move = await battleUIManager.getSelection <Move>(dblButtons, c.creature.creatureName + " move selection:"); List <BattleCreature> targets = new List <BattleCreature>(); switch (move.targetClass) { case TargetClass.ENEMY_SINGLE: break; case TargetClass.ALLY_SINGLE: break; case TargetClass.ALLY_ALL: break; case TargetClass.ENEMY_ALL: break; case TargetClass.ALL: break; } Debug.Log("Move selected: " + move.ToString()); MoveContext context = new MoveContext(move, c, null, null, null); return(new List <MoveContext> { context }); }