Ejemplo n.º 1
0
    void FixedUpdate()
    {
        InputData input      = VirtualControlManager.SampleInput(main.playerNumber);
        Vector3   moveVector = new Vector3(input.Horizontal, 0f, input.Vertical);

        moveVector = Vector3.ClampMagnitude(moveVector, 1f);
        if (!stunned)
        {
            rigid.velocity = moveVector * moveSpeed;
        }
    }
Ejemplo n.º 2
0
    void Update()
    {
        InputData input = VirtualControlManager.SampleInput(main.playerNumber);

        //Aim 360 degrees around
        if (aimMode == AimMode.Joystick)
        {
            if (input.AimHorizontal != 0 || input.AimVertical != 0)
            {
                Vector3    aimInput     = new Vector3(input.AimHorizontal, 0f, input.AimVertical);
                Quaternion aimDirection = Quaternion.LookRotation(aimInput, Vector3.up);
                transform.rotation = aimDirection;
            }
        }
        else if (aimMode == AimMode.Mouse)
        {
            Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit, Mathf.Infinity, aimMask))
            {
                Vector3 aimVector = hit.point - transform.position;
                aimVector = Vector3.ProjectOnPlane(aimVector, Vector3.up);
                Quaternion aimDirection = Quaternion.LookRotation(aimVector, Vector3.up);
                transform.rotation = aimDirection;
            }
        }

        //Shoot
        if (fireRateTimer > 0)
        {
            fireRateTimer -= Time.deltaTime;
        }

        if (canFire(input))
        {
            //if(input.Fire1 || (Input.GetKey(KeyCode.Alpha1) && main.playerNumber != 0)) {
            if (fireRateTimer <= 0f)
            {
                FireBullet();
                fireRateTimer = fireRate;
            }
        }
    }