// Start is called before the first frame update void Start() { objectPooler = ObjectPooler.Instance; impulseListener = GetComponent <CinemachineImpulseListener>(); Instance = this; objectPooler.allPooledObjects.Add(gameObject); }
protected override void Awake() { base.Awake(); _cinemachineCamera = GetComponent <CinemachineVirtualCamera>(); _impulseListener = GetComponent <CinemachineImpulseListener>(); _cinemachineBrain = Camera.GetComponent <CinemachineBrain>(); Assert.IsNotNull(_cinemachineBrain); }
public void StartShake(ScreenShakeParameters ps) { if (!checkedForImpluseListener) { _listener = _theBrain.ActiveVirtualCamera.VirtualCameraGameObject .GetComponent <CinemachineImpulseListener>(); checkedForImpluseListener = true; } if (useCinemachineIfPossible && _listener != null && _listener.isActiveAndEnabled && _impulse != null && _impulse.isActiveAndEnabled) { StartImpulse(ps.magnitude, ps.duration, _impulse); } else { StartShake(ps.magnitude, ps.duration); } }