public IEnumerator EnableRoutine(List <Spell> spells) { List <EightDir> directions; if (spells.Count < 4) { directions = new List <EightDir>() { EightDir.North, EightDir.East, EightDir.South, EightDir.West }; } else { directions = new List <EightDir>() { EightDir.North, EightDir.Northeast, EightDir.East, EightDir.Southeast, EightDir.South, EightDir.Southwest, EightDir.West, EightDir.Northwest }; } for (int i = 0; i < spells.Count; i += 1) { SpellCard card = cards[directions[i]]; Spell spell = spells[i]; card.selected = false; card.gameObject.SetActive(true); card.Populate(spell); } Global.Instance().Input.PushListener(this); yield return(null); }