// Mogelijk voor zorgen dat Ability's alleen de UnitManager hoeven te kennen, en dat de Unitmanager alle Landtile-related dingen doet. // Aka: OnAbilityCast moet een Unit[] of een Landtile door krijgen (hoe bepalen we welke?) // Mogelijk dat we apparte scripts moeten maken voor LandTile en Unit !>affecting<! spells; Beide targetten tiles, maar affecten verschillend. // Aanroepen van RequestRange, OnTargetRangeFound, etc moeten allemaal naar UnitManager. // OnAbilitySelection is called when the ability is selected from the UI (UIManager) by the player // This will need some way of being called from other places as well later on? Special triggers etc. public override void OnAbilitySelection() { base.OnAbilitySelection(); //@todo find better way of making this reference. UnitManager unitManager = GameManager.instance.unitManager; if (range == 0) // target own position automatically, no cursor required { unitManager.BeginCastingAbility(unitManager.currentTurnUnit, unitManager.currentTurnUnit.currentTile, this); return; } unitManager.ShowAbilityRange(this, true); }
public override void Act(UnitManager manager, Unit actingUnit) { manager.BeginCastingAbility(actingUnit, targetUnit.unit.currentTile, abilityToUse); }