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;
}
}