[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.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()

View File

@ -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<RatingDownEffectController>().ShowEffect(OnEffectPanelEnded);
drawEffectPanelObject.GetComponent<RatingDownEffectController>().ShowEffect(null);
}
break;
case 1:
if (_canvas != null)
{
var drawEffectPanelObject = GetEffectPanel("Rating Up Effect Panel");
drawEffectPanelObject.GetComponent<RatingUpEffectController>().ShowEffect(OnEffectPanelEnded);
drawEffectPanelObject.GetComponent<RatingUpEffectController>().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)