diff --git a/Assets/Script/UI/PanelChildController/RatingPointsController.cs b/Assets/Script/UI/PanelChildController/RatingPointsController.cs
index 0897747..122b9bc 100644
--- a/Assets/Script/UI/PanelChildController/RatingPointsController.cs
+++ b/Assets/Script/UI/PanelChildController/RatingPointsController.cs
@@ -1,3 +1,4 @@
+using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@@ -19,6 +20,28 @@ public class RatingPointsController : MonoBehaviour
private int _oldRequiredScore;
private int _newRequiredScore;
private int _oldScore;
+
+ ///
+ /// 포인트 오르고 내려가는 애니메이션 재생
+ ///
+ ///
+ ///
+ private void ChangeImageColor(GameObject imageOBject, Color32 color, Action callback = null)
+ {
+ Sequence sequence = DOTween.Sequence();
+
+ sequence.Append(
+ imageOBject.GetComponent().DOLocalRotate(new Vector3(0f, 90f, 0f), flipDuration).SetEase(Ease.InExpo));
+ sequence.Append(
+ imageOBject.GetComponent().DOLocalRotate(Vector3.zero, flipDuration).SetEase(Ease.OutExpo));
+ sequence.Join(
+ imageOBject.GetComponent().DOColor(color, flipDuration/2).SetEase(Ease.OutExpo));
+
+ sequence.OnComplete(()=>
+ {
+ callback?.Invoke();
+ });
+ }
public void InitRatingPoints(int oldScore,Enums.GameResult gameResult, int defaultRequiredScore)
{
// TODO: [인덱스계산 ㅇㅖ외처리 ] 계산한 값 절대값이 defaultRequiredScore보다 큰 경우 return. 근데 이런 값이 나온다는게 이미 계산 오류가 어디서 생긴 것이겠죠..?
@@ -28,26 +51,14 @@ public class RatingPointsController : MonoBehaviour
{
if (gameResult == Enums.GameResult.Win)
{
- sequence.Append(
- plusImage[0].GetComponent().DOLocalRotate(new Vector3(0f, 90f, 0f), flipDuration).SetEase(Ease.InExpo));
- sequence.Append(
- plusImage[0].GetComponent().DOLocalRotate(Vector3.zero, flipDuration).SetEase(Ease.OutExpo));
- sequence.Join(
- plusImage[0].GetComponent().DOColor(_plusColor, flipDuration/2).SetEase(Ease.OutExpo));
-
+ ChangeImageColor(plusImage[0], _plusColor);
//승급까지 남은 판수 계산
_newRequiredScore = defaultRequiredScore-1;
}
else if(gameResult == Enums.GameResult.Lose)
{
- sequence.Append(
- minusImages[defaultRequiredScore-1].GetComponent().DOLocalRotate(new Vector3(0f, 90f, 0f), flipDuration).SetEase(Ease.InExpo));
- sequence.Append(
- minusImages[defaultRequiredScore-1].GetComponent().DOLocalRotate(Vector3.zero, flipDuration).SetEase(Ease.OutExpo));
- sequence.Join(
- minusImages[defaultRequiredScore-1].GetComponent().DOColor(_minusColor, flipDuration/2).SetEase(Ease.OutExpo));
+ ChangeImageColor(minusImages[defaultRequiredScore-1],_minusColor);
- //승급까지 남은 판수 계산
_newRequiredScore = defaultRequiredScore+1;
}
}
@@ -60,24 +71,13 @@ public class RatingPointsController : MonoBehaviour
}
if (gameResult == Enums.GameResult.Win)
{
- sequence.Append(
- plusImage[_oldScore].GetComponent().DOLocalRotate(new Vector3(0f, 90f, 0f), flipDuration).SetEase(Ease.InExpo));
- sequence.Append(
- plusImage[_oldScore].GetComponent().DOLocalRotate(Vector3.zero, flipDuration).SetEase(Ease.OutExpo));
- sequence.Join(
- plusImage[_oldScore].GetComponent().DOColor(_plusColor, flipDuration/2).SetEase(Ease.OutExpo));
+ ChangeImageColor(plusImage[_oldScore], _plusColor);
- //승급까지 남은 판수 계산
_newRequiredScore = defaultRequiredScore-oldScore-1;
}
else if(gameResult == Enums.GameResult.Lose)
{
- sequence.Append(
- plusImage[_oldScore-1].GetComponent().DOLocalRotate(new Vector3(0f, 90f, 0f), flipDuration).SetEase(Ease.InExpo));
- sequence.Append(
- plusImage[_oldScore-1].GetComponent().DOLocalRotate(Vector3.zero, flipDuration).SetEase(Ease.OutExpo));
- sequence.Join(
- plusImage[_oldScore-1].GetComponent().DOColor(_defaultColor, flipDuration/2).SetEase(Ease.OutExpo));
+ ChangeImageColor(plusImage[_oldScore-1], _defaultColor);
//승급까지 남은 판수 계산
_newRequiredScore = defaultRequiredScore-oldScore+1;
@@ -93,26 +93,14 @@ public class RatingPointsController : MonoBehaviour
}
if (gameResult == Enums.GameResult.Win)
{
- sequence.Append(
- minusImages[minusImages.Length+_oldScore].GetComponent().DOLocalRotate(new Vector3(0f, 90f, 0f), flipDuration).SetEase(Ease.InExpo));
- sequence.Append(
- minusImages[minusImages.Length+_oldScore].GetComponent().DOLocalRotate(Vector3.zero, flipDuration).SetEase(Ease.OutExpo));
- sequence.Join(
- minusImages[minusImages.Length+_oldScore].GetComponent().DOColor(_defaultColor, flipDuration/2).SetEase(Ease.OutExpo));
+ ChangeImageColor(minusImages[minusImages.Length+_oldScore], _defaultColor);
- //승급까지 남은 판수 계산
_newRequiredScore = defaultRequiredScore-oldScore-1;
}
else if(gameResult == Enums.GameResult.Lose)
{
- sequence.Append(
- minusImages[minusImages.Length+_oldScore-1].GetComponent().DOLocalRotate(new Vector3(0f, 90f, 0f), flipDuration).SetEase(Ease.InExpo));
- sequence.Append(
- minusImages[minusImages.Length+_oldScore-1].GetComponent().DOLocalRotate(Vector3.zero, flipDuration).SetEase(Ease.OutExpo));
- sequence.Join(
- minusImages[minusImages.Length+_oldScore-1].GetComponent().DOColor(_minusColor, flipDuration/2).SetEase(Ease.OutExpo));
+ ChangeImageColor(minusImages[minusImages.Length+_oldScore-1], _minusColor);
- //승급까지 남은 판수 계산
_newRequiredScore = defaultRequiredScore-oldScore+1;
}
}