public override void ApplyAction(Cell cell) { if (stateManager.mana.currentMana < spell.manacost) { print("Low Mana"); } else if (!IsCellTargetable(cell)) { print("Cell not targetable"); } else if (spell.requiredNumberPhases == stateManager.selectedAction.phase) { spell.Request(cell, stateManager); stateManager.ResetSelectedAction(); } else { spell.OnActionPhaseChange(cell, stateManager.selectedAction.phase); stateManager.ProgressSelectedActionPhase(cell); } }