using System.Collections; using System.Collections.Generic; using Cinemachine; using MoreMountains.Feedbacks; using MoreMountains.FeedbacksForThirdParty; using UnityEngine; // ReSharper disable once CheckNamespace namespace BlueWaterProject { public class VisualFeedbackManager : Singleton { #region HitStop /// /// 히트스톱 /// /// 시간 public void TriggerHitStop(float duration) { StartCoroutine(HitStopCoroutine(duration)); } private IEnumerator HitStopCoroutine(float duration) { var originalTimeScale = Time.timeScale; Time.timeScale = 0.05f; yield return new WaitForSecondsRealtime(duration); Time.timeScale = originalTimeScale; } #endregion public void CameraShake(CinemachineVirtualCamera camera) { var mmfPlayer = camera.transform.gameObject.GetComponent(); var cinemachineImpulse = mmfPlayer.GetFeedbackOfType(); cinemachineImpulse.m_ImpulseDefinition.m_TimeEnvelope.m_SustainTime = 0.1f; cinemachineImpulse.m_ImpulseDefinition.m_TimeEnvelope.m_DecayTime = 0.2f; cinemachineImpulse.Velocity = new Vector3(0.5f, 0.5f, 0.5f); mmfPlayer.PlayFeedbacks(); } } }