示例#1
0
    void Update()
    {
        if (m_InputHandler.GetAimInputHeld())
        {
            if (playerCamera.fieldOfView > 40.3f)
            {
                playerCamera.fieldOfView -= 0.3f;
            }
        }
        else
        {
            if (playerCamera.fieldOfView < 60.3f)
            {
                playerCamera.fieldOfView += 0.3f;
            }
        }

        if (vignette != null)
        {
            if (isCrouching && vignette.weight < 1)
            {
                vignette.weight += 0.01f;

                if (vignette.weight > 1)
                {
                    vignette.weight = 1;
                }
            }

            if (!isCrouching && vignette.weight > 0.0f)
            {
                vignette.weight -= 0.005f;

                if (vignette.weight < 0)
                {
                    vignette.weight = 0;
                }
            }
        }

        hasJumpedThisFrame = false;

        bool wasGrounded = isGrounded;

        GroundCheck();

        if (isGrounded && !wasGrounded)
        {
            float fallSpeed      = -Mathf.Min(characterVelocity.y, m_LatestImpactSpeed.y);
            float fallSpeedRatio = (fallSpeed - minSpeedForFallDamage) / (maxSpeedForFallDamage - minSpeedForFallDamage);
            if (recievesFallDamage && fallSpeedRatio > 0f)
            {
                // audioSource.PlayOneShot(fallDamageSFX);
            }
            else
            {
                audioSource.PlayOneShot(landSFX);
            }
        }

        if (m_InputHandler.GetFlashlightInputDown())
        {
            if (!flashlight.enabled)
            {
                flashlightOff.Play();
            }
            else
            {
                flashlightOn.Play();
            }
            flashlight.enabled = !flashlight.enabled;
        }

        if (m_InputHandler.GetCrouchInputDown())
        {
            SetCrouchingState(!isCrouching, false);
        }

        UpdateCharacterHeight(false);

        HandleCharacterMovement();
    }