// Start is called before the first frame update void Start() { target = GetComponent <Targeting>().GetTarget(); Vector3 targetPos = GetTargetLocation(target); transform.LookAt(targetPos); }
protected Vector3 GetTargetLocation(Targeting.TargetPlayer target) { if (target == Targeting.TargetPlayer.RED) { return(GameObject.FindGameObjectWithTag("RED").transform.position); } else if (target == Targeting.TargetPlayer.BLUE) { return(GameObject.FindGameObjectWithTag("BLUE").transform.position); } else if (target == Targeting.TargetPlayer.BOTH) { //Compare the distances of the two ships float distanceRed = Vector3.Distance(GameObject.FindGameObjectWithTag("RED").transform.position, transform.position); float distanceBlue = Vector3.Distance(GameObject.FindGameObjectWithTag("BLUE").transform.position, transform.position); //Choose the ship that's closest if (distanceRed < distanceBlue) { return(GameObject.FindGameObjectWithTag("RED").transform.position); } else if (distanceBlue <= distanceRed) { return(GameObject.FindGameObjectWithTag("BLUE").transform.position); } else { return(Vector3.zero); } } else { return(Vector3.zero); } }
protected Vector3 GetTargetLocation(Targeting.TargetPlayer target) { if (target == Targeting.TargetPlayer.RED) { return(GameObject.FindGameObjectWithTag("RED").transform.position); } else if (target == Targeting.TargetPlayer.BLUE) { return(GameObject.FindGameObjectWithTag("BLUE").transform.position); } else //When the attack targets both players, choose randomly which of the two to attack { if (Random.Range(0.0f, 1.0f) < 0.5f) { return(GameObject.FindGameObjectWithTag("RED").transform.position); } else { return(GameObject.FindGameObjectWithTag("BLUE").transform.position); } } }
// Start is called before the first frame update void Start() { target = GetComponent <Targeting>().GetTarget(); //Delay first attack cooldownCounter = attackCooldown; }