// Use this for initialization void Start() { navmesh = GetComponent <NavMeshMove>(); boid_radius = 1; SphereCollider[] sc = GetComponentsInChildren <SphereCollider>(); foreach (SphereCollider sc1 in sc) { if (sc1.isTrigger) { boid_radius = sc1.radius; } } rb = GetComponent <Rigidbody>(); rb.velocity = new Vector3(0, 0, 0); //navmesh.SetTarget(destination); GameObject[] go = GameObject.FindGameObjectsWithTag("Waypoint"); foreach (GameObject _go in go) { entrances.Add(_go.GetComponentInChildren <Waypoint>()); } GameObject[] pgo = GameObject.FindGameObjectsWithTag("Player"); foreach (GameObject _go in pgo) { players.Add(_go.GetComponent <PlayerScript>()); } rb.velocity = new Vector3(Random.Range(-5, 5), 0, Random.Range(-5, 5)); MoveToPlayer(); }
private void OnTriggerEnter(Collider other) { if (other.gameObject.tag == "Player") { // rb.velocity=(Vector3.up * upSpeed); } if (other.gameObject.tag == "enemy") { if (enemyScript.telePadGround && winningScript.carriedByEnemy && winningScript.enemyCurrentName == other.gameObject.transform.name) { enemyScript = other.gameObject.GetComponent <NavMeshMove>(); //lets give the control to bool so it can call that method continuously enemyScript.decider(); } if (winningScript.carriedByEnemy && winningScript.enemyCurrentName == other.gameObject.transform.name && enemyScript.telePadGreen) { //lets make the decider 1 active here enemyScript = other.gameObject.GetComponent <NavMeshMove>(); enemyScript.Decider1(); } } }