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: 8635639988778983738}
|
||||||
- component: {fileID: 4545556044007292713}
|
- component: {fileID: 4545556044007292713}
|
||||||
- component: {fileID: 6152865991947934791}
|
- component: {fileID: 6152865991947934791}
|
||||||
|
- component: {fileID: 3813612584874639807}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Draw Effect Panel
|
m_Name: Draw Effect Panel
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -624,3 +625,48 @@ MonoBehaviour:
|
|||||||
tigerOpenEyes: {fileID: 1508819185250841244}
|
tigerOpenEyes: {fileID: 1508819185250841244}
|
||||||
tigerCloseEyes: {fileID: 399504369641388738}
|
tigerCloseEyes: {fileID: 399504369641388738}
|
||||||
flipDuration: 0.3
|
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: 8635639988778983738}
|
||||||
- component: {fileID: 4545556044007292713}
|
- component: {fileID: 4545556044007292713}
|
||||||
- component: {fileID: 3229800624310508893}
|
- component: {fileID: 3229800624310508893}
|
||||||
|
- component: {fileID: 6984539173991577744}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Lose Effect Panel
|
m_Name: Lose Effect Panel
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -546,3 +547,48 @@ MonoBehaviour:
|
|||||||
characterOpenEyes: {fileID: 1632927645355555415}
|
characterOpenEyes: {fileID: 1632927645355555415}
|
||||||
characterCloseEyes: {fileID: 3881260292094838299}
|
characterCloseEyes: {fileID: 3881260292094838299}
|
||||||
depressedEffect: {fileID: 155037671892554820}
|
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: 8635639988778983738}
|
||||||
- component: {fileID: 3127148509640414758}
|
- component: {fileID: 3127148509640414758}
|
||||||
- component: {fileID: 4545556044007292713}
|
- component: {fileID: 4545556044007292713}
|
||||||
|
- component: {fileID: 7229651074095795597}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: Win Effect Panel
|
m_Name: Win Effect Panel
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -890,6 +891,51 @@ CanvasGroup:
|
|||||||
m_Interactable: 1
|
m_Interactable: 1
|
||||||
m_BlocksRaycasts: 1
|
m_BlocksRaycasts: 1
|
||||||
m_IgnoreParentGroups: 0
|
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
|
--- !u!1 &8851077685063213123
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -12,10 +12,11 @@ public class DrawEffectController : EffectController
|
|||||||
[SerializeField] private float flipDuration = 0.3f;
|
[SerializeField] private float flipDuration = 0.3f;
|
||||||
protected override string fullText => "무승부 입니다";
|
protected override string fullText => "무승부 입니다";
|
||||||
|
|
||||||
protected override void ShowEffect()
|
public override void ShowEffect(OnEffectPanelEnded onEffectPanelEnd)
|
||||||
{
|
{
|
||||||
gameObject.SetActive(true);
|
gameObject.SetActive(true);
|
||||||
cancellationTokenSource = new CancellationTokenSource();
|
cancellationTokenSource = new CancellationTokenSource();
|
||||||
|
onEffectPanelEnded = onEffectPanelEnd;
|
||||||
|
|
||||||
ShowPanel();
|
ShowPanel();
|
||||||
StartCoroutine(AnimateLoadingText());
|
StartCoroutine(AnimateLoadingText());
|
||||||
|
@ -3,9 +3,11 @@ using System.Threading;
|
|||||||
using DG.Tweening;
|
using DG.Tweening;
|
||||||
using TMPro;
|
using TMPro;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
using UnityEngine.EventSystems;
|
||||||
|
using UnityEngine.UIElements;
|
||||||
|
|
||||||
[RequireComponent(typeof(CanvasGroup))]
|
[RequireComponent(typeof(CanvasGroup))]
|
||||||
public abstract class EffectController : MonoBehaviour
|
public abstract class EffectController : MonoBehaviour, IPointerClickHandler
|
||||||
{
|
{
|
||||||
[SerializeField] protected GameObject bannerObj;
|
[SerializeField] protected GameObject bannerObj;
|
||||||
[SerializeField] protected TextMeshProUGUI bannerText;
|
[SerializeField] protected TextMeshProUGUI bannerText;
|
||||||
@ -15,13 +17,16 @@ public abstract class EffectController : MonoBehaviour
|
|||||||
protected CancellationTokenSource cancellationTokenSource;
|
protected CancellationTokenSource cancellationTokenSource;
|
||||||
protected int currentLength = 0;
|
protected int currentLength = 0;
|
||||||
|
|
||||||
protected virtual void Start()
|
public delegate void OnEffectPanelEnded();
|
||||||
{
|
protected OnEffectPanelEnded onEffectPanelEnded;
|
||||||
ShowEffect();
|
|
||||||
}
|
// protected virtual void Start()
|
||||||
|
// {
|
||||||
|
// ShowEffect();
|
||||||
|
// }
|
||||||
|
|
||||||
// 효과를 실행하는 메서드 (자식이 구현해야 함)
|
// 효과를 실행하는 메서드 (자식이 구현해야 함)
|
||||||
protected abstract void ShowEffect();
|
public abstract void ShowEffect(OnEffectPanelEnded onEffectPanelEnded);
|
||||||
|
|
||||||
// 공통 UI 애니메이션 (패널 표시)
|
// 공통 UI 애니메이션 (패널 표시)
|
||||||
protected virtual void ShowPanel()
|
protected virtual void ShowPanel()
|
||||||
@ -60,6 +65,12 @@ public abstract class EffectController : MonoBehaviour
|
|||||||
cancellationTokenSource = null;
|
cancellationTokenSource = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onEffectPanelEnded?.Invoke();
|
||||||
gameObject.SetActive(false);
|
gameObject.SetActive(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnPointerClick(PointerEventData eventData)
|
||||||
|
{
|
||||||
|
HideEffect();
|
||||||
|
}
|
||||||
}
|
}
|
@ -12,10 +12,11 @@ public class LoseEffectController : EffectController
|
|||||||
|
|
||||||
protected override string fullText => "패배했습니다";
|
protected override string fullText => "패배했습니다";
|
||||||
|
|
||||||
protected override void ShowEffect()
|
public override void ShowEffect(OnEffectPanelEnded onEffectPanelEnd)
|
||||||
{
|
{
|
||||||
gameObject.SetActive(true);
|
gameObject.SetActive(true);
|
||||||
cancellationTokenSource = new CancellationTokenSource();
|
cancellationTokenSource = new CancellationTokenSource();
|
||||||
|
onEffectPanelEnded = onEffectPanelEnd;
|
||||||
|
|
||||||
ShowPanel();
|
ShowPanel();
|
||||||
StartCoroutine(AnimateLoadingText());
|
StartCoroutine(AnimateLoadingText());
|
||||||
|
@ -14,10 +14,11 @@ public class WinEffectController : EffectController
|
|||||||
protected override string fullText => "승리했습니다!";
|
protected override string fullText => "승리했습니다!";
|
||||||
|
|
||||||
|
|
||||||
protected override void ShowEffect()
|
public override void ShowEffect(OnEffectPanelEnded onEffectPanelEnd)
|
||||||
{
|
{
|
||||||
gameObject.SetActive(true);
|
gameObject.SetActive(true);
|
||||||
cancellationTokenSource = new CancellationTokenSource();
|
cancellationTokenSource = new CancellationTokenSource();
|
||||||
|
onEffectPanelEnded = onEffectPanelEnd;
|
||||||
|
|
||||||
ShowPanel();
|
ShowPanel();
|
||||||
StartCoroutine(AnimateLoadingText());
|
StartCoroutine(AnimateLoadingText());
|
||||||
|
@ -86,22 +86,30 @@ public class PanelManager : MonoBehaviour
|
|||||||
if (_canvas != null)
|
if (_canvas != null)
|
||||||
{
|
{
|
||||||
var winEffectPanelObject = GetEffectPanel("Win Effect Panel");
|
var winEffectPanelObject = GetEffectPanel("Win Effect Panel");
|
||||||
|
winEffectPanelObject.GetComponent<WinEffectController>().ShowEffect(OnEffectPanelEnded);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Enums.GameResult.Lose:
|
case Enums.GameResult.Lose:
|
||||||
if (_canvas != null)
|
if (_canvas != null)
|
||||||
{
|
{
|
||||||
var winEffectPanelObject = GetEffectPanel("Lose Effect Panel");
|
var loseEffectPanelObject = GetEffectPanel("Lose Effect Panel");
|
||||||
|
loseEffectPanelObject.GetComponent<LoseEffectController>().ShowEffect(OnEffectPanelEnded);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Enums.GameResult.Draw:
|
case Enums.GameResult.Draw:
|
||||||
if (_canvas != null)
|
if (_canvas != null)
|
||||||
{
|
{
|
||||||
var winEffectPanelObject = GetEffectPanel("Draw Effect Panel");
|
var drawEffectPanelObject = GetEffectPanel("Draw Effect Panel");
|
||||||
|
drawEffectPanelObject.GetComponent<DrawEffectController>().ShowEffect(OnEffectPanelEnded);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnEffectPanelEnded()
|
||||||
|
{
|
||||||
|
OpenRatingPanel();
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public void OpenMainPanel()
|
public void OpenMainPanel()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user