コード例 #1
0
ファイル: Player.cs プロジェクト: Neutriv/Project_IOP
    // Update is called once per frame
    void Update()
    {
        if (currentHp <= 0)
        {
            lose.SetActive(true);
            if (Input.GetKeyDown(KeyCode.Return))
            {
                SceneManager.LoadScene("menu", LoadSceneMode.Single);
            }
        }

        //animator
        if (currentHp == 0)
        {
            animator.SetBool("Death", true);
            Death(); //jak umiera
        }
        if (gameObject.GetComponent <Dash>().dashing == true)
        {
            animator.SetBool("Dash", true);
        }
        if (gameObject.GetComponent <Dash>().dashing != true)
        {
            animator.SetBool("Dash", false);
        }

        if (gameObject.GetComponent <Teleport_Dash_lvl2>().teleporting == true)
        {
            animator.SetBool("Teleport", true);
        }
        if (gameObject.GetComponent <Teleport_Dash_lvl2>().teleporting != true)
        {
            animator.SetBool("Teleport", false);
        }

        if (gameObject.GetComponent <Immaterial>().invincible == true)
        {
            //invincible
        }
        if (gameObject.GetComponent <Immaterial>().invincible != true)
        {
            //invincible
        }

        if (gameObject.GetComponent <Immaterial_lvl2>().invincibleRainbow == true)
        {
            //invincible
        }
        if (gameObject.GetComponent <Immaterial_lvl2>().invincibleRainbow != true)
        {
            //invincible
        }



        if (currentHp > maxHp)
        {
            currentHp = maxHp;
        }

        GameObject Obiekt = GameObject.Find("Player");
        Dash       dash   = Obiekt.GetComponent <Dash>();


        if (Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.A) && dash.allowkey)
        {
            gunpoconiewiem.GetComponent <SpriteRenderer>().flipX = true;
            animator.SetBool("Run", true);
            Ray forwardRay = new Ray(transform.position, Vector3.forward);
            Ray leftRay    = new Ray(transform.position, Vector3.left);
            if (!Physics.Raycast(forwardRay, 4 * speed))
            {
                transform.Translate(Vector3.forward * ((speed * Mathf.Sqrt(2))) / 2);
            }
            if (!Physics.Raycast(leftRay, 4 * speed))
            {
                transform.Translate(Vector3.left * ((speed * Mathf.Sqrt(2))) / 2);
            }
        }


        else if (Input.GetKey(KeyCode.W) && Input.GetKey(KeyCode.D) && dash.allowkey)
        {
            gunpoconiewiem.GetComponent <SpriteRenderer>().flipX = false;
            animator.SetBool("Run", true);
            Ray forwardRay = new Ray(transform.position, Vector3.forward);
            Ray rightRay   = new Ray(transform.position, Vector3.right);
            if (!Physics.Raycast(forwardRay, 4 * speed))
            {
                transform.Translate(Vector3.forward * ((speed * Mathf.Sqrt(2))) / 2);
            }
            if (!Physics.Raycast(rightRay, 4 * speed))
            {
                transform.Translate(Vector3.right * ((speed * Mathf.Sqrt(2))) / 2);
            }
        }
        else if (Input.GetKey(KeyCode.S) && Input.GetKey(KeyCode.A) && dash.allowkey)
        {
            gunpoconiewiem.GetComponent <SpriteRenderer>().flipX = true;
            animator.SetBool("Run", true);
            Ray backRay = new Ray(transform.position, Vector3.back);
            Ray leftRay = new Ray(transform.position, Vector3.left);
            if (!Physics.Raycast(backRay, 6 * speed))
            {
                transform.Translate(Vector3.back * ((speed * Mathf.Sqrt(2))) / 2);
            }
            if (!Physics.Raycast(leftRay, 4 * speed))
            {
                transform.Translate(Vector3.left * ((speed * Mathf.Sqrt(2))) / 2);
            }
        }
        else if (Input.GetKey(KeyCode.S) && Input.GetKey(KeyCode.D) && dash.allowkey)
        {
            gunpoconiewiem.GetComponent <SpriteRenderer>().flipX = false;
            animator.SetBool("Run", true);
            Ray backRay  = new Ray(transform.position, Vector3.back);
            Ray rightRay = new Ray(transform.position, Vector3.right);
            if (!Physics.Raycast(backRay, 6 * speed))
            {
                transform.Translate(Vector3.back * ((speed * Mathf.Sqrt(2))) / 2);
            }
            if (!Physics.Raycast(rightRay, 4 * speed))
            {
                transform.Translate(Vector3.right * ((speed * Mathf.Sqrt(2))) / 2);
            }
        }

        else if (Input.GetKey(KeyCode.W) && dash.allowkey)
        {
            gunpoconiewiem.GetComponent <SpriteRenderer>().flipX = false;
            animator.SetBool("Run", true);
            Ray forwardRay = new Ray(transform.position, Vector3.forward);
            if (!Physics.Raycast(forwardRay, 4 * speed))
            {
                transform.Translate(Vector3.forward * speed);
            }
        }

        else if (Input.GetKey(KeyCode.S) && dash.allowkey)
        {
            gunpoconiewiem.GetComponent <SpriteRenderer>().flipX = false;
            animator.SetBool("Run", true);
            Ray backRay = new Ray(transform.position, Vector3.back);
            if (!Physics.Raycast(backRay, 6 * speed))
            {
                transform.Translate(Vector3.back * speed);
            }
        }

        else if (Input.GetKey(KeyCode.A) && dash.allowkey)
        {
            gunpoconiewiem.GetComponent <SpriteRenderer>().flipX = true;
            animator.SetBool("Run", true);
            Ray leftRay = new Ray(transform.position, Vector3.left);
            if (!Physics.Raycast(leftRay, 4 * speed))
            {
                transform.Translate(Vector3.left * speed);
            }
        }

        else if (Input.GetKey(KeyCode.D) && dash.allowkey)
        {
            gunpoconiewiem.GetComponent <SpriteRenderer>().flipX = false;
            animator.SetBool("Run", true);
            Ray rightRay = new Ray(transform.position, Vector3.right);
            if (!Physics.Raycast(rightRay, 4 * speed))
            {
                transform.Translate(Vector3.right * speed);
            }
        }



        if (Input.GetKeyUp(KeyCode.W) || Input.GetKeyUp(KeyCode.A) ||
            Input.GetKeyUp(KeyCode.S) || Input.GetKeyUp(KeyCode.D))
        {
            animator.SetBool("Run", false);
        }

        if (Input.GetMouseButtonDown(0))
        {
            if (canShoot == true && !shooting_off)
            {
                if (numberOfBullets > 0)
                {
                    numberOfBullets--;
                    bron.shoot();
                }
            }
        }

        if (isD == true)
        {
            if (canBeDamaged == true)
            {
                StartCoroutine(Wait());
            }
        }

        //UI, zmiana tekstów i pasków wszelakich

        Text ammotextfield = AmmoTextField.GetComponent <Text>();

        ammotextfield.text = "Ammo: " + numberOfBullets;
        float hp = (float)currentHp / (float)maxHp;

        HealthUIAmmount.GetComponent <Image>().fillAmount = hp;
    }