Beispiel #1
0
        public static ShakeInfo GetShakeInfo(RifleShakeConfig shakeConfig, PlayerWeaponController controller,
                                             ShakeGroup shakeGroup = null)
        {
            shakeGroup = shakeGroup ?? GetShakeGroup(shakeConfig, controller);
            ShakeInfo shakeInfo = shakeGroup.Base;
            var       posture   = controller.RelatedCharState.GetCurrentPostureState();

            if (!controller.RelatedPlayerMove.IsGround)
            {
                shakeInfo = shakeGroup.Air;
            }
            else if (controller.RelatedPlayerMove.HorizontalVelocity > shakeConfig.FastMoveSpeed)
            {
                shakeInfo = shakeGroup.FastMove;
            }
            else if (posture == PostureInConfig.Prone)
            {
                shakeInfo = shakeGroup.Prone;
            }
            else if (posture == PostureInConfig.Crouch)
            {
                shakeInfo = shakeGroup.Duck;
            }
            return(shakeInfo);
        }
Beispiel #2
0
 public static ShakeGroup GetShakeGroup(RifleShakeConfig shakeConfig, PlayerWeaponController controller)
 {
     return(controller.RelatedCameraSNew.IsAiming() ? shakeConfig.Aiming : shakeConfig.Default);
 }