Advertisement
Italian_Style

Crosshair bug

Sep 14th, 2020
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.44 KB | None | 0 0
  1. //In LockOnSystem.cs (component of turret)
  2. //In Update method
  3. private void CheckCrosshair()
  4.     {
  5.         turretDirection = MyExtensions.GetDirectionFromAngle3D(transform.rotation.eulerAngles.y);
  6.      
  7.         RaycastHit hit;
  8.         if (Physics.Raycast(bulletEmitter.position, turretDirection, out hit))
  9.         {
  10.             Debug.DrawLine(bulletEmitter.position, hit.point, Color.green);
  11.             switch (hit.transform.tag)
  12.             {
  13.                 case "Enemy":
  14.                 case "Friendly":
  15.                     SpawnCrosshair(hit);
  16.                     break;
  17.  
  18.                 default:
  19.                     if(locked)
  20.                         DespawnCrosshair();
  21.                     break;
  22.             }
  23.         }
  24.     }
  25.  
  26.     private void DespawnCrosshair()
  27.     {
  28.         locked = false;
  29.         targets[currentTargetIndex].SetCrosshair(locked);
  30.         currentTargetIndex = -1;
  31.     }
  32.  
  33.     private void SpawnCrosshair(RaycastHit hit)
  34.     {
  35.         locked = true;
  36.         currentTargetIndex = hit.transform.GetComponent<Target>().id;
  37.         targets[currentTargetIndex].SetCrosshair(locked);
  38.     }
  39.  
  40. //In Target.cs (component of target GameObject)
  41. //Plays lock-on animations
  42. public void SetCrosshair(bool isLocked)
  43.     {
  44.         crosshair.transform.position = _cam.WorldToScreenPoint(transform.position);
  45.         crosshairAnim.SetBool("Locked", isLocked);
  46.         crosshairAnim.SetBool("isEnemy", isEnemy);
  47.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement