using UnityEngine; namespace FirstGearGames.SmoothCameraShaker { public class ShakeUpdate { public ShakeUpdate() { Camera = new ShakeValues(); Canvases = new ShakeValues(); Objects = new ShakeValues(); } public ShakeUpdate(ShakeValues camera, ShakeValues canvases, ShakeValues objects) { Camera = camera; Canvases = canvases; Objects = objects; } /// /// ShakeValues for the camera. /// public readonly ShakeValues Camera; /// /// ShakeValues for canvases. /// public readonly ShakeValues Canvases; /// /// ShakeValues for rigidbodies. /// public readonly ShakeValues Objects; } public class ShakeValues { public ShakeValues() { Position = Vector3.zero; Rotation = Vector3.zero; } public ShakeValues(Vector3 position, Vector3 rotation) { Position = position; Rotation = rotation; } /// /// Position value of the shake. /// public Vector3 Position; /// /// Rotation value of the shake. /// public Vector3 Rotation; } public struct CameraShakerChange { public CameraShakerChange(CameraShaker oldShaker, CameraShaker newShaker) { OldShaker = oldShaker; NewShaker = newShaker; } /// /// Old CameraShaker. /// public readonly CameraShaker OldShaker; /// /// New CameraShaker. /// public readonly CameraShaker NewShaker; } }