//protected abstract void OnCast(CombatController user, CombatController target, float step); //----------------------------------------------------------------------/ // Methods //----------------------------------------------------------------------/ /// <summary> /// CombatAction constructor. /// </summary> /// <param name="user">The controller who will be running this action.</param> /// <param name="target">The target this action will be acted upon.</param> /// <param name="castTime">The cast time of this action.</param> /// <param name="range">The range of this action.</param> /// <param name="duration"></param> public CombatAction(CombatController user, CombatController target, float range, Timings timings) { this.Initialize(user, target, range, timings); }
protected abstract void OnExecute(CombatController user, CombatController target);
protected abstract void OnTrigger(CombatController user, CombatController target);
protected abstract void OnCasting(CombatController user, CombatController target, float step);
//----------------------------------------------------------------------/ // Interface //----------------------------------------------------------------------/ protected abstract void OnStart(CombatController user, CombatController target);
/// <summary> /// Evaluates a list of possible targets according to this targeting model /// </summary> /// <param name="caster"></param> /// <param name="target"></param> /// <param name="type"></param> /// <returns></returns> public abstract CombatController[] EvaluateTargets(CombatController caster, CombatController[] targets, Combat.TargetingParameters type);