예제 #1
0
 public void SetBotSpeedOff()
 {
     for (int i = 0; i < allBots.Count; i++)
     {
         for (int k = 0; k < allBots[i].transform.childCount; k++)
         {
             if (allBots[i].transform.GetChild(k).GetComponent <PathFollowerBot>())
             {
                 _bot         = allBots[i].transform.GetChild(k).GetComponent <PathFollowerBot>();
                 _bot.enabled = false;
                 _bot._botRigidbody.isKinematic = false;
             }
         }
     }
 }
예제 #2
0
    void RestartLevel()
    {
        _camera.transform.parent        = transform;
        _camera.transform.localPosition = cameraStartPos;
        _camera.transform.localRotation = cameraStartRot;
        for (int i = 0; i < smoke.Count; i++)
        {
            smoke[i].SetActive(false);
        }
        for (int i = 0; i < wheels.Count; i++)
        {
            if (wheels[i].transform.childCount > 0)
            {
                GameObjectPool.Unspawn(wheels[i].transform.GetChild(0).gameObject);
                wheels[i].transform.GetChild(0).parent = null;
            }
        }
        distanceTravelled = 0;
        for (int i = 0; i < allPathCreator.Count; i++)
        {
            allBots[i].SetActive(false);
            allBotsPath[i].SetActive(false);
            roadArrows[i].SetActive(false);
            allPeople[i].GoToStart();

            for (int k = 0; k < allBots[i].transform.childCount; k++)
            {
                if (allBots[i].transform.GetChild(k).GetComponent <PathFollowerBot>())
                {
                    _bot = allBots[i].transform.GetChild(k).GetComponent <PathFollowerBot>();
                    _bot.distanceTravelled         = 0;
                    _bot.enabled                   = true;
                    _bot._botRigidbody.isKinematic = true;
                }
            }
        }

        this.enabled = true;
        checkPeople  = false;
        _detectObj._heroCollider.isTrigger = true;
        for (int i = 0; i < smoke.Count; i++)
        {
            smoke[i].SetActive(true);
        }
    }
예제 #3
0
    private void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("CarBot"))
        {
            _bot         = other.GetComponent <PathFollowerBot>();
            _bot.enabled = false;
            _bot._botRigidbody.isKinematic = false;



            _hero.enabled = false;
            //collideCar = other.transform;
            _heroCollider.isTrigger = false;
            //_heroRigidbody.isKinematic = false;
            _hero._camera.transform.parent = null;
            Vector3 direction = (transform.position - other.transform.position).normalized;
            transform.GetComponent <Rigidbody>().AddForce(direction * powerToCar);
            other.GetComponent <Rigidbody>().AddForce(-direction * powerToBot);

            _hero.Lose();
        }
    }