public void Update() { if (Vector3.Distance(mob.Transform.position, attackController.AttackTargetUnit.Transform.position) > mob.Model.AttackModel.MaxAttackDistance) //||()//todo проверка прямой видимости { if (useLog) { Debug.Log($"{mob.Name} enemy {attackController.AttackTargetUnit.Name} too far "); } mob.Follow(attackTarget, true); return; } mob.FaceTarget(attackController.AttackTargetUnit.Transform.position); }
public void Update() { switch (aiMovementController.CurrentMovementStage) { case MobAIMovementModel.MovementStage.Move: movementController.IsStopped = false; break; case MobAIMovementModel.MovementStage.Idle: movementController.IsStopped = true; mob.FaceTarget(attackController.AttackTargetUnit.Transform.position, 180.0f); break; default: throw new ArgumentOutOfRangeException(); } }