From b49ccd5625449b4081302f1455910ad5176d5264 Mon Sep 17 00:00:00 2001 From: Lim0_C Date: Thu, 1 May 2025 11:08:30 +0900 Subject: [PATCH] =?UTF-8?q?DEG-49=20[Refactor]=20=ED=81=B4=EB=A6=AC?= =?UTF-8?q?=EC=96=B4=20=EC=84=B1=EA=B3=B5=20=EC=8B=A4=ED=8C=A8=20=ED=8C=A8?= =?UTF-8?q?=EB=84=90=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 의미 없는 코루틴 삭제 --- Assets/LYM/Scripts/ClearPanelController.cs | 53 ++++++++++++------- Assets/LYM/Scripts/FailedPanelController.cs | 58 ++++++++++++++------- Assets/LYM/Scripts/PanelController.cs | 2 +- Assets/LYM/UIPrefabs/ChatWindowPanel.prefab | 4 +- Assets/LYM/UIPrefabs/ClearPanelBG.prefab | 4 +- Assets/LYM/UIPrefabs/FailedPanelBG.prefab | 4 +- 6 files changed, 81 insertions(+), 44 deletions(-) diff --git a/Assets/LYM/Scripts/ClearPanelController.cs b/Assets/LYM/Scripts/ClearPanelController.cs index c579cafb..e79991d5 100644 --- a/Assets/LYM/Scripts/ClearPanelController.cs +++ b/Assets/LYM/Scripts/ClearPanelController.cs @@ -3,19 +3,37 @@ using System.Collections; using System.Collections.Generic; using DG.Tweening; using UnityEngine; +using UnityEngine.EventSystems; using UnityEngine.PlayerLoop; using UnityEngine.UI; -public class ClearPanelController : MonoBehaviour +public class ClearPanelController : PanelController, IPointerClickHandler { [SerializeField] private CanvasGroup clearPanel; [SerializeField] private Image clearPanelArmImage; [SerializeField] private Image clearTextImage; private Image _clearPanelBGImage; + public Action onCompleted; + + private void Awake() + { + base.Awake(); + _clearPanelBGImage = GetComponent(); + } private void Start() { - _clearPanelBGImage = GetComponent(); + //임시 코드 + Show(() => + { + Debug.Log("OnCompleted"); + }); + } + + public void Show(Action onCompleted) + { + base.Show(); + this.onCompleted = onCompleted; Init(); } @@ -25,24 +43,23 @@ public class ClearPanelController : MonoBehaviour clearTextImage.rectTransform.localScale = Vector3.zero; clearTextImage.DOFade(0, 0); clearPanel.DOFade(0, 0); - StartCoroutine(ClearAnimationCoroutine()); + ClearAnimation(); } - private IEnumerator ClearAnimationCoroutine() + private void ClearAnimation() { - _clearPanelBGImage.DOFade(0.98f, 0.5f).OnComplete(() => - { - clearPanel.DOFade(1, 0.5f).OnComplete(() => - { - clearPanelArmImage.rectTransform.DORotate(new Vector3(0, 0, 15), 0.3f).OnComplete((() => - { - clearPanelArmImage.rectTransform.DORotate(Vector3.zero, 0.3f); - })); - clearTextImage.rectTransform.DOScale(1f, 0.5f).SetEase(Ease.OutBack); - clearTextImage.DOFade(1, 0.5f); - }); - }); - - yield return null; + Sequence seq = DOTween.Sequence(); + seq.Append(_clearPanelBGImage.DOFade(0.98f, 0.5f)) + .Append(clearPanel.DOFade(1, 0.5f)) + .Append(clearPanelArmImage.rectTransform.DORotate(new Vector3(0, 0, 15), 0.3f)) + .Append(clearPanelArmImage.rectTransform.DORotate(Vector3.zero, 0.3f)) + .Join(clearTextImage.rectTransform.DOScale(1f, 0.5f).SetEase(Ease.OutBack)) + .Join(clearTextImage.DOFade(1, 0.5f)); + } + + public void OnPointerClick(PointerEventData eventData) + { + onCompleted?.Invoke(); + Hide(); } } \ No newline at end of file diff --git a/Assets/LYM/Scripts/FailedPanelController.cs b/Assets/LYM/Scripts/FailedPanelController.cs index cb9df29b..1aa06d8f 100644 --- a/Assets/LYM/Scripts/FailedPanelController.cs +++ b/Assets/LYM/Scripts/FailedPanelController.cs @@ -1,45 +1,65 @@ +using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using DG.Tweening; +using UnityEngine.EventSystems; -public class FailedPanelController : MonoBehaviour +public class FailedPanelController : PanelController, IPointerClickHandler { [SerializeField] private CanvasGroup failedPanel; [SerializeField] private Image failedPanelArmImage; [SerializeField] private Image failedTextImage; private Image _failedPanelBGImage; - private void Start() + public Action onCompleted; + + private void Awake() { + base.Awake(); _failedPanelBGImage = GetComponent(); - Init(); } + private void Start() + { + //임시 코드 + Show(() => + { + Debug.Log("OnCompleted"); + }); + } + + public void Show(Action onCompleted) + { + base.Show(); + this.onCompleted = onCompleted; + Init(); + } + private void Init() { _failedPanelBGImage.DOFade(0, 0); failedTextImage.DOFade(0, 0); failedTextImage.rectTransform.DOScale(0, 0); failedPanel.DOFade(0, 0); - StartCoroutine(FailedAnimationCoroutine()); + FailedAnimation(); } - private IEnumerator FailedAnimationCoroutine() + private void FailedAnimation() { - _failedPanelBGImage.DOFade(0.98f, 0.5f).OnComplete(() => - { - failedPanel.DOFade(1, 0.5f).OnComplete(() => - { - failedPanelArmImage.rectTransform.DORotate(new Vector3(0, 0, 15), 0.3f).OnComplete((() => - { - failedPanelArmImage.rectTransform.DORotate(Vector3.zero, 0.3f); - })); - failedTextImage.rectTransform.DOScale(1f, 0.5f).SetEase(Ease.OutBack); - failedTextImage.DOFade(1, 0.5f); - }); - }); - yield return null; + Sequence seq = DOTween.Sequence(); + seq.Append(_failedPanelBGImage.DOFade(0.98f, 0.5f)) + .Append(failedPanel.DOFade(1, 0.5f)) + .Append(failedPanelArmImage.rectTransform.DORotate(new Vector3(0, 0, 15), 0.3f)) + .Append(failedPanelArmImage.rectTransform.DORotate(Vector3.zero, 0.3f)) + .Join(failedTextImage.rectTransform.DOScale(1f, 0.5f).SetEase(Ease.OutBack)) + .Join(failedTextImage.DOFade(1, 0.5f)); } -} + + public void OnPointerClick(PointerEventData eventData) + { + onCompleted?.Invoke(); + Hide(); + } +} \ No newline at end of file diff --git a/Assets/LYM/Scripts/PanelController.cs b/Assets/LYM/Scripts/PanelController.cs index 587b6ba2..4c648713 100644 --- a/Assets/LYM/Scripts/PanelController.cs +++ b/Assets/LYM/Scripts/PanelController.cs @@ -9,7 +9,7 @@ public class PanelController : MonoBehaviour { private CanvasGroup _canvasGroup; - private void Awake() + protected void Awake() { _canvasGroup = GetComponent(); if (_canvasGroup == null) return; diff --git a/Assets/LYM/UIPrefabs/ChatWindowPanel.prefab b/Assets/LYM/UIPrefabs/ChatWindowPanel.prefab index d18383a9..f86bea73 100644 --- a/Assets/LYM/UIPrefabs/ChatWindowPanel.prefab +++ b/Assets/LYM/UIPrefabs/ChatWindowPanel.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5ee6e0f2d9034d8d4933c8ed6c9273b2b64a4291fdb58c84886368e0194382e8 -size 10073 +oid sha256:d0dd5136d0c5a2a3c6c23457e24b5ee78bfe82d8ee178afa3ef46f3f3faa9c12 +size 8950 diff --git a/Assets/LYM/UIPrefabs/ClearPanelBG.prefab b/Assets/LYM/UIPrefabs/ClearPanelBG.prefab index 6035dd81..889b9daf 100644 --- a/Assets/LYM/UIPrefabs/ClearPanelBG.prefab +++ b/Assets/LYM/UIPrefabs/ClearPanelBG.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a5c5ff7c21d21706c09ec0fab79d4c658358113ea8bedad984a0d8f9943a399 -size 10917 +oid sha256:c152074f798e97965cd62d61edc5f7362e64fcd74d1a05db54edb331695686d2 +size 11276 diff --git a/Assets/LYM/UIPrefabs/FailedPanelBG.prefab b/Assets/LYM/UIPrefabs/FailedPanelBG.prefab index 3b0c554e..7b59d102 100644 --- a/Assets/LYM/UIPrefabs/FailedPanelBG.prefab +++ b/Assets/LYM/UIPrefabs/FailedPanelBG.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:71d3f9308fb3be9d8533ff86f78c39757ceda0687ddcfb35e5a083081a2012f4 -size 11208 +oid sha256:e416bb4099887505fda17a2e8d5c5bd672921eefc0680b22bd4c85e6a1f0f9b1 +size 11567