using System.Collections; using System.Collections.Generic; using UnityEngine; public class Ability : ScriptableObject { public new string name; public string description; public virtual void OnPlaceUnit(Unit unit) { } public virtual void OnBeginRound(Unit unit) { } public virtual void OnEndRound(Unit unit) { } public virtual void OnBeginMovePhase(Unit unit) { } public virtual void OnMove(Unit unit, int travelDistance) { } public virtual void OnEndMovePhase(Unit unit) { } public virtual void OnBeginAttackPhase(Unit unit) { } public virtual void OnBeginAttack(Unit unit, List targets) { } public virtual void OnAttack(Unit unit, List targets) { } public virtual void OnEndAttack(Unit unit, List targets) { } public virtual void OnEndAttackPhase(Unit unit) { } public virtual void OnExecute(Unit unit, Unit target) { } public virtual void OnAllyDeath(Unit unit) { } public virtual void OnEnemyDeath(Unit unit) { } public virtual void OnAnyDeath(Unit unit) { } public virtual void OnCounterAttack(Unit unit, Unit attacker) { } public virtual void OnDamaged(Unit unit, Unit attacker) { } public virtual void OnArmorBreak(Unit unit, Unit attacker) { } public virtual void OnDefeat(Unit unit, Unit attacker) { } public virtual void OnEnterBattleGround(Unit unit) { } public virtual void OnExitBattleGround(Unit unit) { } public virtual void OnDraw(Unit unit) { } public virtual void OnRecovered(Unit unit, Unit helper) { } public virtual void OnEquippingArmor(Unit unit, int armorAmount) { } public virtual void OnDiscard(Unit unit) { } public virtual void OnCastStragedy(List targets) { } }