public override void Update(int deltaTime) { base.Update(deltaTime); owner.FindOpponent(); owner.WaypointHandler(); owner.pathAgent.Move(owner.speed * deltaTime); }
// Update is called once per frame public override void Update(int deltaTime) { base.Update(deltaTime); if (owner.target != null && owner.target.Alive()) { owner.FindOpponent(); owner.WaypointHandler(); owner.pathAgent.Move(owner.speed * deltaTime); // After move, Check the crystal's position is in the attack area. long distance = FixVector3.SqrDistance(owner.target.position, owner.position); long attackDistance = (long)owner.attackArea + (long)owner.target.modelRadius + (long)owner.modelRadius; if (distance < attackDistance) { owner.Fight(owner.target); } } else { owner.ChangeState(DemolisherState.IDLE, owner.fsmIdle); } }
public override void Update(int deltaTime) { base.Update(deltaTime); owner.FindOpponent(); }