コード例 #1
0
    // Update is called once per frame
    void Update()
    {
        if (colisionOffLevel.GetTeamNumber() == 1)
        {
            if (rbBall.velocity.x > 0.05f)
            {
                velocityHigh = true;
            }

            if (rbBall.velocity.x < 0.2f && velocityHigh && shootBoolBlue)
            {
                velocityHigh            = false;
                shootBoolBlue           = false;
                zForce                  = 0;
                aim_Arrow.enabled       = true;
                aim_PlaceHolder.enabled = true;
                aim.value               = 0;
                colisionOffLevel.resetGame();
            }
        }
        else if (colisionOffLevel.GetTeamNumber() == 0)
        {
            if (rbBall.velocity.x < -0.05f)
            {
                velocityHigh = true;
            }
            if (rbBall.velocity.x > -0.2f && velocityHigh && shootBoolRed)
            {
                velocityHigh            = false;
                shootBoolRed            = false;
                zForce                  = 0;
                aim_Arrow.enabled       = true;
                aim_PlaceHolder.enabled = true;
                aim.value               = 0;
                colisionOffLevel.resetGame();
            }
        }


        if (!point.GetGameOver())
        {
            string buttonInput      = "";
            string buttonAngleLeft  = "";
            string buttonAngleRight = "";
            if (colisionOffLevel.GetTeamNumber() == 0)
            {
                buttonInput      = "Fire1";
                buttonAngleLeft  = "HorizontalLeft";
                buttonAngleRight = "HorizontalRight";
            }
            else if (colisionOffLevel.GetTeamNumber() == 1)
            {
                buttonInput      = "Fire2";
                buttonAngleLeft  = "HorizontalLeft2";
                buttonAngleRight = "HorizontalRight2";
            }

            //Increases z force
            if (Input.GetButton(buttonInput))
            {
                if (zForce < maxShootForce)
                {
                    zForce += 10;
                    //Slider force react
                    aim.value = zForce;
                }
                else if (zForce >= maxShootForce)
                {
                    if (!colisionOffLevel.GetBallInMotion())
                    {
                        colisionOffLevel.SetBallInMotion();
                        zForce = maxShootForce;

                        if (colisionOffLevel.GetTeamNumber() == 1)
                        {
                            shootBoolBlue = true;
                            GetComponent <Rigidbody>().AddRelativeForce(zForce, 0, 0);
                        }
                        else if (colisionOffLevel.GetTeamNumber() == 0)
                        {
                            shootBoolRed = true;
                            GetComponent <Rigidbody>().AddRelativeForce(-zForce, 0, 0);
                        }
                        aim_Arrow.enabled       = false;
                        aim_PlaceHolder.enabled = false;
                    }
                }
                else if (zForce < minShootForce)
                {
                    zForce = minShootForce;
                }
            }
            // Add more movement features by adding rotation
            //Rotate left
            if (Input.GetKey("a"))
            {
                // rotate 1 degree left
                transform.Rotate(0, -1, 0);
            }

            if (Input.GetButtonUp(buttonInput))
            {
                if (!colisionOffLevel.GetBallInMotion())
                {
                    colisionOffLevel.SetBallInMotion();
                    if (colisionOffLevel.GetTeamNumber() == 1)
                    {
                        shootBoolBlue = true;
                        GetComponent <Rigidbody>().AddRelativeForce(zForce, 0, 0);
                    }
                    else if (colisionOffLevel.GetTeamNumber() == 0)
                    {
                        shootBoolRed = true;
                        GetComponent <Rigidbody>().AddRelativeForce(-zForce, 0, 0);
                    }
                    aim_Arrow.enabled       = false;
                    aim_PlaceHolder.enabled = false;
                }
            }

            if (Input.GetKey("left"))
            {
                // rotate 1 degree left
                transform.Rotate(0, -1, 0);
            }
            //Joystick
            if (Input.GetButton(buttonAngleLeft))
            {
                // rotate 1 degree left
                transform.Rotate(0, -1, 0);
            }
            //Joystick
            if (Input.GetButton(buttonAngleRight))
            {
                // rotate 1 degree right
                transform.Rotate(0, 1, 0);
            }

            if (Input.GetKey("d"))
            {
                // rotate 1 degree right
                transform.Rotate(0, 1, 0);
            }
        }
    }