Example #1
0
 private void Update()
 {
     if (targetPoint != null && !enemy.GetIsDead() && isActive)
     {
         Vector3 direction     = abs(targetPoint.position, transform.position);
         Vector3 directionToGo = targetPoint.position - transform.position;
         transform.Translate(directionToGo.normalized * speed * spawner.GetGlobalEnemySpeedMultiplier() * Time.deltaTime);
         if (direction.z < maxDistance && direction.x < maxDistance)
         {
             SetTarget();
         }
         Vector3    lookDir        = targetPoint.position - enemyChild.transform.position;
         Quaternion lookRotation   = Quaternion.LookRotation(lookDir);
         Vector3    rotationToLook = Quaternion.Lerp(enemyChild.transform.rotation, lookRotation, Time.deltaTime * rotationSpeed).eulerAngles;
         enemyChild.transform.rotation = Quaternion.Euler(0f, rotationToLook.y, 0f);
     }
 }