Beispiel #1
0
    void Update()
    {
        if (Finish == false && start == true && dead == false)
        {
            GetComponent <Animator>().Play("BasicMotions@Run01");

            speed = GameObject.Find("Speed").GetComponent <Slider>().value;

            GameObject.Find("HP").GetComponent <Slider>().value = HP;

            GetComponent <Rigidbody>().AddForce(transform.forward * 100 * speed * Time.deltaTime);

            if (Input.GetKey(KeyCode.A) && GetComponent <CapsuleCollider>().bounds.Intersects(wall1.GetComponent <BoxCollider>().bounds) == false)
            {
                GetComponent <Rigidbody>().AddForce(-transform.right * 100 * sideSpeed * Time.deltaTime);
            }
            if (Input.GetKey(KeyCode.D) && GetComponent <CapsuleCollider>().bounds.Intersects(wall2.GetComponent <BoxCollider>().bounds) == false)
            {
                GetComponent <Rigidbody>().AddForce(transform.right * 100 * sideSpeed * Time.deltaTime);
            }

            if (GetComponent <CapsuleCollider>().bounds.Intersects(wall1.GetComponent <BoxCollider>().bounds) ||
                GetComponent <CapsuleCollider>().bounds.Intersects(wall2.GetComponent <BoxCollider>().bounds))
            {
                if (!WallsCanDamage)
                {
                    StartCoroutine(WaitForSeconds(1f));
                }
            }
        }
        else if (Finish == true)
        {
            if (final == true)
            {
                GetComponent <Rigidbody>().AddForce(transform.forward * 100 * speed * Time.deltaTime);
                speed = Mathf.Lerp(speed, 0, 1f * Time.deltaTime);
                GetComponent <Animator>().Play("AlienWinRotate");
                GameObject.Find("ufo").GetComponent <Animator>().Play("ufoanim");
                WinCanvas.SetActive(true);
                GameObject[] Explosions = GameObject.FindGameObjectsWithTag("Explosion");
                foreach (GameObject i in Explosions)
                {
                    Destroy(i);
                }
                final = false;
            }
        }
        if (HP <= 0)
        {
            dead = true;
            LoseCanvas.SetActive(true);
            GetComponent <Animator>().Play("BasicMotions@Idle01");
            GameObject[] Explosions = GameObject.FindGameObjectsWithTag("Explosion");
            foreach (GameObject i in Explosions)
            {
                Destroy(i);
            }
        }
    }
Beispiel #2
0
        void Awake()
        {
            if (instance == null)
            {
                instance = this;
            }
            else if (instance == this)
            {
                Destroy(gameObject);
            }

            _loseCanas        = _loseCanvasPrefab.GetComponent <LoseCanvas>();
            _rectFormOfKnives = _knifeUIImagePrefab.GetComponent <RectTransform>();
        }