/// <summary> /// Cast an ability (pick the target, if needed) /// </summary> /// <param name="abilityBase"></param> public void CastAbility(AbilityBase abilityBase) { if (character != null && abilityBase != null) { //if (GameController.state == GameState.Exploration) //{ // characterMenu.Close(); //} character.UpdateTile(); currentAbility = abilityBase; currentAbility.caster = character; currentAbility.CreateCursorForController(this); character.PushAction(currentAbility.Prepare()); if (currentAbility.cursor == null) { character.PushAction(currentAbility.Cast()); return; } } }