void Update() { //transform.LookAt(target); try // sets acceleration values depending on selected mass of the player { switch (mass) { case 1: if (this.gameObject.name == "StrongAI(Clone)") { agent.acceleration = Random.Range(7.5f, 14f); } else if (this.gameObject.name == "WeakAI(Clone)") { agent.acceleration = Random.Range(5, 14f); } break; case 2: if (this.gameObject.name == "StrongAI(Clone)") { agent.acceleration = Random.Range(5f, 12f); } else if (this.gameObject.name == "WeakAI(Clone)") { agent.acceleration = Random.Range(2.5f, 12f); } break; case 3: if (this.gameObject.name == "StrongAI(Clone)") { agent.acceleration = Random.Range(4f, 10f); } else if (this.gameObject.name == "WeakAI(Clone)") { agent.acceleration = Random.Range(2.5f, 10f); } break; } agent.SetDestination(target.position); // if the target can move } catch (UnassignedReferenceException) { } //Debug.Log((target.position - agent.transform.position).magnitude); // for debugging AIPowerUpPickup PP = (AIPowerUpPickup)GetComponent(typeof(AIPowerUpPickup)); PP.FindPowerUps(); }
// Handles visualisation of the AI power up arc void OnSceneGUI() { AIPowerUpPickup pp = (AIPowerUpPickup)target; Handles.color = Color.white; Handles.DrawWireArc(pp.transform.position, Vector3.up, Vector3.forward, 360, pp.radius); Vector3 viewAngleA = pp.DirFromAngle(-pp.angle / 2, false); Vector3 viewAngleB = pp.DirFromAngle(pp.angle / 2, false); Handles.DrawLine(pp.transform.position, pp.transform.position + viewAngleA * pp.radius); Handles.DrawLine(pp.transform.position, pp.transform.position + viewAngleB * pp.radius); Handles.color = Color.red; foreach (Transform validPower in pp.PowerUps) { Handles.DrawLine(pp.transform.position, validPower.position); } }