public override List <CastTarget> GetTargets(Skill skill, Skill.TargetInfo targetInfo) { var result = new List <CastTarget>(); //Physics.Sp return(result); }
public void resetCast() { isCasting = false; activeSkill = null; currentCastTime = 0; castTarget = null; }
public override void onCast(Unit caster, Skill skill, Skill.TargetInfo target) { base.onCast(caster, skill, target); if (skill is Attack && stunChance_ > Random.Range(0f, 1f)) { target.TargetUnit.stun(stunDuration_); } }
public virtual void Awake() { unit = gameObject.GetComponent <Unit>(); target = new Skill.TargetInfo(unit, null); if (mainAttack == null) { mainAttack = unit.PrimarySkill; } if (unit.ActiveController == null) { unit.ActiveController = this; } }
public bool canReachCastTarget(Skill skill, Skill.TargetInfo target) { float totalReach = Reach + Size + skill.Reach; if (target.TargetUnit != null) { totalReach += target.TargetUnit.Size; } return ((target.Position - transform.position).magnitude <= totalReach); }
public void cast(Skill skill, Skill.TargetInfo target) { if (isCasting && activeSkill == skill && castTarget == target) { return; } isMoving = false; if (skill.CurrentCooldown == 0) { isCasting = true; activeSkill = skill; castTarget = target; currentCastTime = 0; } }
public override List <CastTarget> GetTargets(Skill skill, Skill.TargetInfo targetInfo) { if (targetInfo.TargetUnit == null) { return(null); } var result = new List <CastTarget>(); if (skill.CanReachTarget(targetInfo)) { result.Add(new CastTarget(targetInfo.TargetUnit, CastTarget.TypeFlag.Primary)); } else { targetInfo.TargetUnit.Graphics.showMessage("Miss!"); } return(result); }
public virtual void onCast(Unit caster, Skill skill, Skill.TargetInfo target) { }
public virtual void Awake() { unit_ = gameObject.GetComponent <Unit>(); target_ = new Skill.TargetInfo(); }
public abstract List <CastTarget> GetTargets(Skill skill, Skill.TargetInfo targetInfo);
public CastCommand() { type = Type.Interrupt; skill = null; targetInfo = null; }
public CastCommand(Skill skill, Skill.TargetInfo targetInfo) { type = Type.Cast; this.skill = skill; this.targetInfo = new Skill.TargetInfo(targetInfo); }
public CastEventArgs(CastingState castingState) { skill = castingState.ActiveSkill; targetInfo = castingState.TargetInfo; }
public CastEventArgs(Skill skill, Skill.TargetInfo targetInfo) { this.skill = skill; this.targetInfo = targetInfo; }
public TryStartResult TryStart(Skill skill, Skill.TargetInfo targetInfo) { return(TryStart(new CastCommand(skill, targetInfo))); }