diff --git a/Assets/Script/UI/Effect/EffectController.cs b/Assets/Script/UI/Effect/EffectController.cs index a9492fb..66a477c 100644 --- a/Assets/Script/UI/Effect/EffectController.cs +++ b/Assets/Script/UI/Effect/EffectController.cs @@ -1,6 +1,7 @@ using System.Collections; using System.Threading; using DG.Tweening; +using JetBrains.Annotations; using TMPro; using UnityEngine; using UnityEngine.EventSystems; @@ -26,7 +27,7 @@ public abstract class EffectController : MonoBehaviour, IPointerClickHandler // } // 효과를 실행하는 메서드 (자식이 구현해야 함) - public abstract void ShowEffect(OnEffectPanelEnded onEffectPanelEnded); + public abstract void ShowEffect([CanBeNull] OnEffectPanelEnded onEffectPanelEnded); // 공통 UI 애니메이션 (패널 표시) protected virtual void ShowPanel() diff --git a/Assets/Script/UI/PanelController/PanelManager.cs b/Assets/Script/UI/PanelController/PanelManager.cs index 5ed742a..b3c421e 100644 --- a/Assets/Script/UI/PanelController/PanelManager.cs +++ b/Assets/Script/UI/PanelController/PanelManager.cs @@ -77,9 +77,10 @@ public class PanelManager : MonoBehaviour return null; } - + private Enums.GameResult _gameResult = Enums.GameResult.None; public void OpenEffectPanel(Enums.GameResult gameResult) { + _gameResult = gameResult; switch (gameResult) { case Enums.GameResult.Win: @@ -118,22 +119,25 @@ public class PanelManager : MonoBehaviour if (_canvas != null) { var drawEffectPanelObject = GetEffectPanel("Rating Down Effect Panel"); - drawEffectPanelObject.GetComponent().ShowEffect(OnEffectPanelEnded); + drawEffectPanelObject.GetComponent().ShowEffect(null); } break; case 1: if (_canvas != null) { var drawEffectPanelObject = GetEffectPanel("Rating Up Effect Panel"); - drawEffectPanelObject.GetComponent().ShowEffect(OnEffectPanelEnded); + drawEffectPanelObject.GetComponent().ShowEffect(null); } break; } } - //TODO: 인자로 RameResult받게 해주시면 될 것 같습니다. + + // 이 함수는 Win, Lose EffectPanelEnded여서 Rating UP, Down Effect 와는 상관없습니다. private void OnEffectPanelEnded() { - // OpenRatingPanel(); + if (_gameResult == Enums.GameResult.None) + return; + OpenRatingPanel(_gameResult); } #endregion @@ -290,7 +294,7 @@ public class PanelManager : MonoBehaviour OpenShopPanel(shopItems); } - //승급 패널 생성 + //Rating Panel 생성 public void OpenRatingPanel(Enums.GameResult gameResult) { if (_canvas != null)