OldBlueWater/BlueWater/Assets/02.Scripts/VisualFeedbackManager.cs

46 lines
1.4 KiB
C#
Raw Normal View History

2023-11-29 02:39:46 +00:00
using System.Collections;
using System.Collections.Generic;
using Cinemachine;
using MoreMountains.Feedbacks;
using MoreMountains.FeedbacksForThirdParty;
2023-11-29 02:39:46 +00:00
using UnityEngine;
// ReSharper disable once CheckNamespace
namespace BlueWaterProject
{
public class VisualFeedbackManager : Singleton<VisualFeedbackManager>
2023-11-29 02:39:46 +00:00
{
#region HitStop
2023-11-29 02:39:46 +00:00
/// <summary>
/// 히트스톱
/// </summary>
/// <param name="duration">시간</param>
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
2023-11-30 01:47:37 +00:00
public void CameraShake(CinemachineVirtualCamera camera)
{
2023-11-30 01:47:37 +00:00
var mmfPlayer = camera.transform.gameObject.GetComponent<MMF_Player>();
var cinemachineImpulse = mmfPlayer.GetFeedbackOfType<MMF_CinemachineImpulse>();
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();
}
2023-11-29 02:39:46 +00:00
}
}