TurnBasedStrategyCourse/Assets/Scripts/ScreenShake.cs

23 lines
658 B
C#

using System;
using UnityEngine;
using Cinemachine;
public class ScreenShake : MonoBehaviour {
public static ScreenShake Instance { get; private set; }
private CinemachineImpulseSource cinemachineImpulseSource;
private void Awake() {
if (Instance is not null) {
Debug.LogError($"There is more than one UnitActionSystem! {transform} - {Instance}");
Destroy(gameObject);
return;
}
Instance = this;
cinemachineImpulseSource = GetComponent<CinemachineImpulseSource>();
}
public void Shake(float intensity = 1f) => cinemachineImpulseSource.GenerateImpulse(intensity);
}