[Feat] 승패 이펙트 후 결과에 따라서 RatingPanel Open

This commit is contained in:
HaeinLEE 2025-03-27 16:30:02 +09:00
parent 7d6119a2af
commit 7d94c44ab4
2 changed files with 12 additions and 7 deletions

View File

@ -1,6 +1,7 @@
using System.Collections; using System.Collections;
using System.Threading; using System.Threading;
using DG.Tweening; using DG.Tweening;
using JetBrains.Annotations;
using TMPro; using TMPro;
using UnityEngine; using UnityEngine;
using UnityEngine.EventSystems; 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 애니메이션 (패널 표시) // 공통 UI 애니메이션 (패널 표시)
protected virtual void ShowPanel() protected virtual void ShowPanel()

View File

@ -77,9 +77,10 @@ public class PanelManager : MonoBehaviour
return null; return null;
} }
private Enums.GameResult _gameResult = Enums.GameResult.None;
public void OpenEffectPanel(Enums.GameResult gameResult) public void OpenEffectPanel(Enums.GameResult gameResult)
{ {
_gameResult = gameResult;
switch (gameResult) switch (gameResult)
{ {
case Enums.GameResult.Win: case Enums.GameResult.Win:
@ -118,22 +119,25 @@ public class PanelManager : MonoBehaviour
if (_canvas != null) if (_canvas != null)
{ {
var drawEffectPanelObject = GetEffectPanel("Rating Down Effect Panel"); var drawEffectPanelObject = GetEffectPanel("Rating Down Effect Panel");
drawEffectPanelObject.GetComponent<RatingDownEffectController>().ShowEffect(OnEffectPanelEnded); drawEffectPanelObject.GetComponent<RatingDownEffectController>().ShowEffect(null);
} }
break; break;
case 1: case 1:
if (_canvas != null) if (_canvas != null)
{ {
var drawEffectPanelObject = GetEffectPanel("Rating Up Effect Panel"); var drawEffectPanelObject = GetEffectPanel("Rating Up Effect Panel");
drawEffectPanelObject.GetComponent<RatingUpEffectController>().ShowEffect(OnEffectPanelEnded); drawEffectPanelObject.GetComponent<RatingUpEffectController>().ShowEffect(null);
} }
break; break;
} }
} }
//TODO: 인자로 RameResult받게 해주시면 될 것 같습니다.
// 이 함수는 Win, Lose EffectPanelEnded여서 Rating UP, Down Effect 와는 상관없습니다.
private void OnEffectPanelEnded() private void OnEffectPanelEnded()
{ {
// OpenRatingPanel(); if (_gameResult == Enums.GameResult.None)
return;
OpenRatingPanel(_gameResult);
} }
#endregion #endregion
@ -290,7 +294,7 @@ public class PanelManager : MonoBehaviour
OpenShopPanel(shopItems); OpenShopPanel(shopItems);
} }
//승급 패널 생성 //Rating Panel 생성
public void OpenRatingPanel(Enums.GameResult gameResult) public void OpenRatingPanel(Enums.GameResult gameResult)
{ {
if (_canvas != null) if (_canvas != null)