Merge pull request #55 from Degulleo/DO-46-게임-씬-보조-기능-추가
Do 46 게임 씬 보조 기능 추가
This commit is contained in:
commit
cc63e75f2a
@ -527,6 +527,7 @@ GameObject:
|
||||
- component: {fileID: 8635639988778983738}
|
||||
- component: {fileID: 4545556044007292713}
|
||||
- component: {fileID: 6152865991947934791}
|
||||
- component: {fileID: 3813612584874639807}
|
||||
m_Layer: 5
|
||||
m_Name: Draw Effect Panel
|
||||
m_TagString: Untagged
|
||||
@ -624,3 +625,48 @@ MonoBehaviour:
|
||||
tigerOpenEyes: {fileID: 1508819185250841244}
|
||||
tigerCloseEyes: {fileID: 399504369641388738}
|
||||
flipDuration: 0.3
|
||||
--- !u!61 &3813612584874639807
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8383435151006156655}
|
||||
m_Enabled: 1
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 0
|
||||
m_UsedByEffector: 0
|
||||
m_UsedByComposite: 0
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0, y: 0}
|
||||
oldSize: {x: 0, y: 0}
|
||||
newSize: {x: 0, y: 0}
|
||||
adaptiveTilingThreshold: 0
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_EdgeRadius: 0
|
||||
|
@ -450,6 +450,7 @@ GameObject:
|
||||
- component: {fileID: 8635639988778983738}
|
||||
- component: {fileID: 4545556044007292713}
|
||||
- component: {fileID: 3229800624310508893}
|
||||
- component: {fileID: 6984539173991577744}
|
||||
m_Layer: 5
|
||||
m_Name: Lose Effect Panel
|
||||
m_TagString: Untagged
|
||||
@ -546,3 +547,48 @@ MonoBehaviour:
|
||||
characterOpenEyes: {fileID: 1632927645355555415}
|
||||
characterCloseEyes: {fileID: 3881260292094838299}
|
||||
depressedEffect: {fileID: 155037671892554820}
|
||||
--- !u!61 &6984539173991577744
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8383435151006156655}
|
||||
m_Enabled: 1
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 0
|
||||
m_UsedByEffector: 0
|
||||
m_UsedByComposite: 0
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0, y: 0}
|
||||
oldSize: {x: 0, y: 0}
|
||||
newSize: {x: 0, y: 0}
|
||||
adaptiveTilingThreshold: 0
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_EdgeRadius: 0
|
||||
|
@ -788,6 +788,7 @@ GameObject:
|
||||
- component: {fileID: 8635639988778983738}
|
||||
- component: {fileID: 3127148509640414758}
|
||||
- component: {fileID: 4545556044007292713}
|
||||
- component: {fileID: 7229651074095795597}
|
||||
m_Layer: 5
|
||||
m_Name: Win Effect Panel
|
||||
m_TagString: Untagged
|
||||
@ -890,6 +891,51 @@ CanvasGroup:
|
||||
m_Interactable: 1
|
||||
m_BlocksRaycasts: 1
|
||||
m_IgnoreParentGroups: 0
|
||||
--- !u!61 &7229651074095795597
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8383435151006156655}
|
||||
m_Enabled: 1
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ForceSendLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ForceReceiveLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_ContactCaptureLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_CallbackLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_IsTrigger: 0
|
||||
m_UsedByEffector: 0
|
||||
m_UsedByComposite: 0
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0, y: 0}
|
||||
oldSize: {x: 0, y: 0}
|
||||
newSize: {x: 0, y: 0}
|
||||
adaptiveTilingThreshold: 0
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!1 &8851077685063213123
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -12,10 +12,11 @@ public class DrawEffectController : EffectController
|
||||
[SerializeField] private float flipDuration = 0.3f;
|
||||
protected override string fullText => "무승부 입니다";
|
||||
|
||||
protected override void ShowEffect()
|
||||
public override void ShowEffect(OnEffectPanelEnded onEffectPanelEnd)
|
||||
{
|
||||
gameObject.SetActive(true);
|
||||
cancellationTokenSource = new CancellationTokenSource();
|
||||
onEffectPanelEnded = onEffectPanelEnd;
|
||||
|
||||
ShowPanel();
|
||||
StartCoroutine(AnimateLoadingText());
|
||||
|
@ -3,9 +3,11 @@ using System.Threading;
|
||||
using DG.Tweening;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.EventSystems;
|
||||
using UnityEngine.UIElements;
|
||||
|
||||
[RequireComponent(typeof(CanvasGroup))]
|
||||
public abstract class EffectController : MonoBehaviour
|
||||
public abstract class EffectController : MonoBehaviour, IPointerClickHandler
|
||||
{
|
||||
[SerializeField] protected GameObject bannerObj;
|
||||
[SerializeField] protected TextMeshProUGUI bannerText;
|
||||
@ -15,13 +17,16 @@ public abstract class EffectController : MonoBehaviour
|
||||
protected CancellationTokenSource cancellationTokenSource;
|
||||
protected int currentLength = 0;
|
||||
|
||||
protected virtual void Start()
|
||||
{
|
||||
ShowEffect();
|
||||
}
|
||||
public delegate void OnEffectPanelEnded();
|
||||
protected OnEffectPanelEnded onEffectPanelEnded;
|
||||
|
||||
// protected virtual void Start()
|
||||
// {
|
||||
// ShowEffect();
|
||||
// }
|
||||
|
||||
// 효과를 실행하는 메서드 (자식이 구현해야 함)
|
||||
protected abstract void ShowEffect();
|
||||
public abstract void ShowEffect(OnEffectPanelEnded onEffectPanelEnded);
|
||||
|
||||
// 공통 UI 애니메이션 (패널 표시)
|
||||
protected virtual void ShowPanel()
|
||||
@ -60,6 +65,12 @@ public abstract class EffectController : MonoBehaviour
|
||||
cancellationTokenSource = null;
|
||||
}
|
||||
|
||||
onEffectPanelEnded?.Invoke();
|
||||
gameObject.SetActive(false);
|
||||
}
|
||||
|
||||
public void OnPointerClick(PointerEventData eventData)
|
||||
{
|
||||
HideEffect();
|
||||
}
|
||||
}
|
@ -12,10 +12,11 @@ public class LoseEffectController : EffectController
|
||||
|
||||
protected override string fullText => "패배했습니다";
|
||||
|
||||
protected override void ShowEffect()
|
||||
public override void ShowEffect(OnEffectPanelEnded onEffectPanelEnd)
|
||||
{
|
||||
gameObject.SetActive(true);
|
||||
cancellationTokenSource = new CancellationTokenSource();
|
||||
onEffectPanelEnded = onEffectPanelEnd;
|
||||
|
||||
ShowPanel();
|
||||
StartCoroutine(AnimateLoadingText());
|
||||
|
@ -14,10 +14,11 @@ public class WinEffectController : EffectController
|
||||
protected override string fullText => "승리했습니다!";
|
||||
|
||||
|
||||
protected override void ShowEffect()
|
||||
public override void ShowEffect(OnEffectPanelEnded onEffectPanelEnd)
|
||||
{
|
||||
gameObject.SetActive(true);
|
||||
cancellationTokenSource = new CancellationTokenSource();
|
||||
onEffectPanelEnded = onEffectPanelEnd;
|
||||
|
||||
ShowPanel();
|
||||
StartCoroutine(AnimateLoadingText());
|
||||
|
@ -86,22 +86,30 @@ public class PanelManager : MonoBehaviour
|
||||
if (_canvas != null)
|
||||
{
|
||||
var winEffectPanelObject = GetEffectPanel("Win Effect Panel");
|
||||
winEffectPanelObject.GetComponent<WinEffectController>().ShowEffect(OnEffectPanelEnded);
|
||||
}
|
||||
break;
|
||||
case Enums.GameResult.Lose:
|
||||
if (_canvas != null)
|
||||
{
|
||||
var winEffectPanelObject = GetEffectPanel("Lose Effect Panel");
|
||||
var loseEffectPanelObject = GetEffectPanel("Lose Effect Panel");
|
||||
loseEffectPanelObject.GetComponent<LoseEffectController>().ShowEffect(OnEffectPanelEnded);
|
||||
}
|
||||
break;
|
||||
case Enums.GameResult.Draw:
|
||||
if (_canvas != null)
|
||||
{
|
||||
var winEffectPanelObject = GetEffectPanel("Draw Effect Panel");
|
||||
var drawEffectPanelObject = GetEffectPanel("Draw Effect Panel");
|
||||
drawEffectPanelObject.GetComponent<DrawEffectController>().ShowEffect(OnEffectPanelEnded);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnEffectPanelEnded()
|
||||
{
|
||||
OpenRatingPanel();
|
||||
}
|
||||
#endregion
|
||||
|
||||
public void OpenMainPanel()
|
||||
|
Loading…
x
Reference in New Issue
Block a user