Пример #1
0
    // 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();
    }
Пример #2
0
 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();
         }
     }
 }