void Tracking() { if (lockedOn) { try { target = nearByEnemies[lockedEnemy]; GunPos.transform.LookAt(target.transform); //Determine Crosshair Location Based On The Current Target gameObject.transform.position = cam.WorldToScreenPoint(target.transform.position); //Rotate Crosshair gameObject.transform.Rotate(new Vector3(0f, 0f, -100f * Time.deltaTime)); } catch { print("Out of Range"); lockedOn = false; image.enabled = false; lockedEnemy = 0; target = null; } } }
void Update() { //Press Space Key To Lock On if (Input.GetKeyDown(KeyCode.Z) && !lockedOn) { if (nearByEnemies.Count >= 1) { lockedOn = true; image.enabled = true; //Lock On To First Enemy In List By Default lockedEnemy = 0; target = nearByEnemies[lockedEnemy]; } } //Turn Off Lock On When [Z] Is Pressed Or No More Enemies Are In The List else if ((Input.GetKeyDown(KeyCode.Z) && lockedOn) || nearByEnemies.Count == 0) { lockedOn = false; image.enabled = false; lockedEnemy = 0; target = null; } //Press X To Switch Targets if (Input.GetKeyDown(KeyCode.X)) { if (lockedEnemy == nearByEnemies.Count - 1) { //If End Of List Has Been Reached, Start Over lockedEnemy = 0; target = nearByEnemies[lockedEnemy]; } else { //Move To Next Enemy In List lockedEnemy++; target = nearByEnemies[lockedEnemy]; } } if (lockedOn) { target = nearByEnemies[lockedEnemy]; //Determine Crosshair Location Based On The Current Target gameObject.transform.position = cam.WorldToScreenPoint(target.transform.position); //Rotate Crosshair gameObject.transform.Rotate(new Vector3(0, 0, -1)); } }
void LockTarget() { //Press RightClick Key To Lock On Target if (Input.GetMouseButtonDown(1) && !lockedOn) { if (nearByEnemies.Count >= 1) { lockedOn = true; image.enabled = true; //Lock On To First Enemy In List By Default lockedEnemy = 0; target = nearByEnemies[lockedEnemy]; } } //Press RightClick Key To Un Lock Target else if ((Input.GetMouseButtonDown(1) && lockedOn) || nearByEnemies.Count == 0) { lockedOn = false; image.enabled = false; lockedEnemy = 0; target = null; } //Press X To Switch Targets if (Input.GetKeyDown(KeyCode.X)) { if (lockedEnemy == nearByEnemies.Count - 1) { //If End Of List Has Been Reached, Start Over lockedEnemy = 0; target = nearByEnemies[lockedEnemy]; } else { //Move To Next Enemy In List lockedEnemy++; target = nearByEnemies[lockedEnemy]; } } }