Esempio n. 1
0
    // Update is called once per frame
    void Update()
    {
        hAxis = Input.GetAxis("Horizontal");
        vAxis = Input.GetAxis("Vertical");
        //Moving Player
        if (hAxis != 0)
        {
            //transform.position = new Vector2(transform.position.x + (moveSpeed*Time.deltaTime) * hAxis, transform.position.y);
            if (hAxis < -0.7)
            {
                trigger1_pressed = true;
                if (!rotating)
                {
                    Debug.Log("left rotation");
                    StopAllCoroutines();
                    StartCoroutine(rotateTriangle(120));
                    energyBar.IncreaseEnergy(0.2f);
                    switch (head)
                    {
                    case WeaponColor.colorA:
                        head = WeaponColor.colorC;
                        break;

                    case WeaponColor.colorB:
                        head = WeaponColor.colorA;
                        break;

                    case WeaponColor.colorC:
                        head = WeaponColor.colorB;
                        break;

                    default:
                        break;
                    }
                }
            }
            else if (hAxis > 0.7)
            {
                trigger2_pressed = true;
                if (!rotating)
                {
                    Debug.Log("rigth rotation");
                    StopAllCoroutines();
                    StartCoroutine(rotateTriangle(-120));
                    energyBar.IncreaseEnergy(0.2f);
                    switch (head)
                    {
                    case WeaponColor.colorA:
                        head = WeaponColor.colorB;
                        break;

                    case WeaponColor.colorB:
                        head = WeaponColor.colorC;
                        break;

                    case WeaponColor.colorC:
                        head = WeaponColor.colorA;
                        break;

                    default:
                        break;
                    }
                }
            }
            else
            {
                trigger1_pressed = false;
                trigger2_pressed = false;
            }
        }
        else
        {
        }

        if (vAxis != 0)
        {
            transform.position = new Vector2(transform.position.x, transform.position.y + (moveSpeed * Time.deltaTime) * vAxis);
        }

        if ((vAxis != 0) & !Input.GetButton("Fire1") || (hAxis != 0) & !Input.GetButton("Fire1"))
        {
            energyBar.IncreaseEnergy(0.003f);
        }

        /*
         * //Turning Player
         * if ((Input.GetAxis("Left Trigger") <= -0.2 & !Input.GetButton("Fire1")) & !trigger1_pressed)
         * {
         *  Debug.Log(Input.GetAxis("Left Trigger"));
         *  trigger1_pressed = true;
         *  if (!rotating)
         *  {
         *      Debug.Log("left rotation");
         *      StopAllCoroutines();
         *      StartCoroutine(rotateTriangle(120));
         *      energyBar.IncreaseEnergy(0.2f);
         *      switch (head)
         *      {
         *          case WeaponColor.colorA:
         *              head = WeaponColor.colorC;
         *              break;
         *          case WeaponColor.colorB:
         *              head = WeaponColor.colorA;
         *              break;
         *          case WeaponColor.colorC:
         *              head = WeaponColor.colorB;
         *              break;
         *          default:
         *              break;
         *      }
         *  }
         *
         * }
         * else if (Input.GetAxis("Left Trigger") > -0.1){
         *  trigger1_pressed = false;
         * }
         *
         *
         *
         * if ((Input.GetAxis("Right Trigger") <= -0.2 & !Input.GetButton("Fire1")) & !trigger2_pressed)
         * {
         *  Debug.Log(Input.GetAxis("Right Trigger"));
         *  trigger2_pressed = true;
         *  if (!rotating)
         *  {
         *      Debug.Log("rigth rotation");
         *      StopAllCoroutines();
         *      StartCoroutine(rotateTriangle(-120));
         *      energyBar.IncreaseEnergy(0.2f);
         *      switch (head)
         *      {
         *          case WeaponColor.colorA:
         *              head = WeaponColor.colorB;
         *              break;
         *          case WeaponColor.colorB:
         *              head = WeaponColor.colorC;
         *              break;
         *          case WeaponColor.colorC:
         *              head = WeaponColor.colorA;
         *              break;
         *          default:
         *              break;
         *      }
         *  }
         *
         * }
         * else if (Input.GetAxis("Right Trigger") > -0.1)
         * {
         *  trigger2_pressed = false;
         * }
         */

        //Shooting with space
        if (Input.GetButton("Fire1") && (!Input.GetKey(KeyCode.Z) || !Input.GetKey(KeyCode.C)))
        {
            if (!shooting && actualAmmo > 0)
            {
                if (Time.time - lastfired > 1 / fireRate)
                {
                    lastfired = Time.time;
                    var bullet = pool.NextObject(head);
                    shooting = true;
                    bullet.transform.position = new Vector2(transform.position.x + 2.5f, transform.position.y);
                    bullet.SetActive(true);
                    ammoGUI.ReduceAmmoCountGUI(1);
                }
            }
        }
        else
        {
            shooting = false;
        }

        //Fast Shoot
        if (Input.GetButtonDown("Fire1"))
        {
            if (!shooting && actualAmmo > 0)
            {
                var bullet = pool.NextObject(head);
                shooting = true;
                bullet.transform.position = new Vector2(transform.position.x + 2.5f, transform.position.y);
                bullet.SetActive(true);
                ammoGUI.ReduceAmmoCountGUI(1);
            }
        }
        else
        {
            shooting = false;
        }

        //Restart Game
        if (Input.GetButtonDown("Submit"))
        {
            Application.LoadLevel(Application.loadedLevel);
        }

        if (energyBar.GetEnergyValue() == 1)
        {
            actualAmmo = ammoCount;
            energyBar.SetEnergyValue(0);
            ammoGUI.SetAmmoGUICount(ammoCount);
        }
    }