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); }
public static ShakeGroup GetShakeGroup(RifleShakeConfig shakeConfig, PlayerWeaponController controller) { return(controller.RelatedCameraSNew.IsAiming() ? shakeConfig.Aiming : shakeConfig.Default); }