diff --git a/Assets/ResWork/UI_Animation/Gacha.anim b/Assets/ResWork/UI_Animation/Gacha.anim index 8535ea6..3c3b29c 100644 --- a/Assets/ResWork/UI_Animation/Gacha.anim +++ b/Assets/ResWork/UI_Animation/Gacha.anim @@ -29,7 +29,7 @@ AnimationClip: inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - serializedVersion: 3 - time: 1.25 + time: 1.9166666 value: {x: 0, y: 0, z: 0} inSlope: {x: 0, y: 0, z: 0} outSlope: {x: 0, y: 0, z: 0} @@ -38,7 +38,7 @@ AnimationClip: inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334} - serializedVersion: 3 - time: 1.5 + time: 2.1666667 value: {x: 1, y: 1, z: 1} inSlope: {x: 0, y: 0, z: 0} outSlope: {x: 0, y: 0, z: 0} @@ -73,27 +73,9 @@ AnimationClip: weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - - serializedVersion: 3 - time: 0.5833333 - value: 500 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - serializedVersion: 3 time: 0.6666667 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 0.75 - value: 300 + value: 500 inSlope: 0 outSlope: 0 tangentMode: 136 @@ -110,8 +92,8 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 0.9166667 - value: 100 + time: 1 + value: 300 inSlope: 0 outSlope: 0 tangentMode: 136 @@ -119,7 +101,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1 + time: 1.1666666 value: 0 inSlope: 0 outSlope: 0 @@ -128,7 +110,25 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1.0833334 + time: 1.3333334 + value: 100 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.6666666 value: 50 inSlope: 0 outSlope: 0 @@ -158,7 +158,7 @@ AnimationClip: inWeight: 0 outWeight: 0 - serializedVersion: 3 - time: 1.1666666 + time: 1.8333334 value: 1 inSlope: Infinity outSlope: Infinity @@ -188,7 +188,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1.25 + time: 1.9166666 value: 0 inSlope: 0 outSlope: 0 @@ -197,7 +197,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1.5 + time: 2.1666667 value: 250 inSlope: 0 outSlope: 0 @@ -206,7 +206,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 2 + time: 2.6666667 value: 200 inSlope: 0 outSlope: 0 @@ -215,7 +215,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 2.5 + time: 3.1666667 value: 250 inSlope: 0 outSlope: 0 @@ -224,7 +224,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 3 + time: 3.6666667 value: 200 inSlope: 0 outSlope: 0 @@ -233,7 +233,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 3.5 + time: 4.1666665 value: 250 inSlope: 0 outSlope: 0 @@ -242,7 +242,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 4 + time: 4.6666665 value: 200 inSlope: 0 outSlope: 0 @@ -250,15 +250,6 @@ AnimationClip: weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - - serializedVersion: 3 - time: 4.5 - value: 250 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 @@ -281,7 +272,7 @@ AnimationClip: inWeight: 0 outWeight: 0 - serializedVersion: 3 - time: 1.1666666 + time: 1.8333334 value: 0 inSlope: Infinity outSlope: Infinity @@ -297,6 +288,27 @@ AnimationClip: classID: 114 script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: i_chest + classID: 1 + script: {fileID: 0} + flags: 0 m_PPtrCurves: [] m_SampleRate: 60 m_WrapMode: 0 @@ -311,7 +323,7 @@ AnimationClip: m_AdditiveReferencePoseClip: {fileID: 0} m_AdditiveReferencePoseTime: 0 m_StartTime: 0 - m_StopTime: 4.5 + m_StopTime: 4.6666665 m_OrientationOffsetY: 0 m_Level: 0 m_CycleOffset: 0 @@ -349,27 +361,9 @@ AnimationClip: weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - - serializedVersion: 3 - time: 0.5833333 - value: 500 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - serializedVersion: 3 time: 0.6666667 - value: 0 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 - - serializedVersion: 3 - time: 0.75 - value: 300 + value: 500 inSlope: 0 outSlope: 0 tangentMode: 136 @@ -386,8 +380,8 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 0.9166667 - value: 100 + time: 1 + value: 300 inSlope: 0 outSlope: 0 tangentMode: 136 @@ -395,7 +389,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1 + time: 1.1666666 value: 0 inSlope: 0 outSlope: 0 @@ -404,7 +398,25 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1.0833334 + time: 1.3333334 + value: 100 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 136 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1.6666666 value: 50 inSlope: 0 outSlope: 0 @@ -434,7 +446,7 @@ AnimationClip: inWeight: 0 outWeight: 0 - serializedVersion: 3 - time: 1.1666666 + time: 1.8333334 value: 1 inSlope: Infinity outSlope: Infinity @@ -464,7 +476,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1.25 + time: 1.9166666 value: 0 inSlope: 0 outSlope: 0 @@ -473,7 +485,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1.5 + time: 2.1666667 value: 1 inSlope: 0 outSlope: 0 @@ -503,7 +515,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1.25 + time: 1.9166666 value: 0 inSlope: 0 outSlope: 0 @@ -512,7 +524,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1.5 + time: 2.1666667 value: 1 inSlope: 0 outSlope: 0 @@ -542,7 +554,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1.25 + time: 1.9166666 value: 0 inSlope: 0 outSlope: 0 @@ -551,7 +563,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1.5 + time: 2.1666667 value: 1 inSlope: 0 outSlope: 0 @@ -581,7 +593,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1.25 + time: 1.9166666 value: 0 inSlope: 0 outSlope: 0 @@ -590,7 +602,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 1.5 + time: 2.1666667 value: 250 inSlope: 0 outSlope: 0 @@ -599,7 +611,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 2 + time: 2.6666667 value: 200 inSlope: 0 outSlope: 0 @@ -608,7 +620,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 2.5 + time: 3.1666667 value: 250 inSlope: 0 outSlope: 0 @@ -617,7 +629,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 3 + time: 3.6666667 value: 200 inSlope: 0 outSlope: 0 @@ -626,7 +638,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 3.5 + time: 4.1666665 value: 250 inSlope: 0 outSlope: 0 @@ -635,7 +647,7 @@ AnimationClip: inWeight: 0.33333334 outWeight: 0.33333334 - serializedVersion: 3 - time: 4 + time: 4.6666665 value: 200 inSlope: 0 outSlope: 0 @@ -643,15 +655,6 @@ AnimationClip: weightedMode: 0 inWeight: 0.33333334 outWeight: 0.33333334 - - serializedVersion: 3 - time: 4.5 - value: 250 - inSlope: 0 - outSlope: 0 - tangentMode: 136 - weightedMode: 0 - inWeight: 0.33333334 - outWeight: 0.33333334 m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 @@ -674,7 +677,7 @@ AnimationClip: inWeight: 0 outWeight: 0 - serializedVersion: 3 - time: 1.1666666 + time: 1.8333334 value: 0 inSlope: Infinity outSlope: Infinity @@ -690,6 +693,27 @@ AnimationClip: classID: 114 script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} flags: 0 + - serializedVersion: 2 + curve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: Infinity + outSlope: Infinity + tangentMode: 103 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + attribute: m_IsActive + path: i_chest + classID: 1 + script: {fileID: 0} + flags: 0 m_EulerEditorCurves: [] m_HasGenericRootTransform: 0 m_HasMotionFloatCurves: 0 diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index f6285b6..56e39df 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -11250,7 +11250,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: 0, y: -25.000015} + m_AnchoredPosition: {x: 0, y: -25} m_SizeDelta: {x: 0, y: 50} m_Pivot: {x: 0.5, y: 0.5} --- !u!61 &420248622 @@ -11297,7 +11297,7 @@ BoxCollider2D: drawMode: 0 adaptiveTiling: 0 m_AutoTiling: 0 - m_Size: {x: 640, y: 50} + m_Size: {x: 1080, y: 50} m_EdgeRadius: 0 --- !u!114 &420248623 MonoBehaviour: @@ -15244,15 +15244,15 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8912696977846966682, guid: 9a1f774d1ec1bcf4792fe2e48bd16d1c, type: 3} propertyPath: m_LocalScale.x - value: 50 + value: 75 objectReference: {fileID: 0} - target: {fileID: 8912696977846966682, guid: 9a1f774d1ec1bcf4792fe2e48bd16d1c, type: 3} propertyPath: m_LocalScale.y - value: 50 + value: 75 objectReference: {fileID: 0} - target: {fileID: 8912696977846966682, guid: 9a1f774d1ec1bcf4792fe2e48bd16d1c, type: 3} propertyPath: m_LocalScale.z - value: 50 + value: 75 objectReference: {fileID: 0} - target: {fileID: 8912696977846966682, guid: 9a1f774d1ec1bcf4792fe2e48bd16d1c, type: 3} propertyPath: m_LocalPosition.x @@ -15264,7 +15264,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8912696977846966682, guid: 9a1f774d1ec1bcf4792fe2e48bd16d1c, type: 3} propertyPath: m_LocalPosition.z - value: 0 + value: -500 objectReference: {fileID: 0} - target: {fileID: 8912696977846966682, guid: 9a1f774d1ec1bcf4792fe2e48bd16d1c, type: 3} propertyPath: m_LocalRotation.w @@ -40191,7 +40191,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0} m_AnchorMax: {x: 1, y: 1} - m_AnchoredPosition: {x: 0, y: -55.77272} + m_AnchoredPosition: {x: 0, y: -55.772705} m_SizeDelta: {x: 0, y: -111.5455} m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &1630921640 @@ -50088,6 +50088,8 @@ MonoBehaviour: - {fileID: 1745868383} go_CanEnterLuckyGame: {fileID: 833106249} go_autocharge: {fileID: 1017439549} + m_GachaAnim: {fileID: 1861711113} + i_GachaReward: {fileID: 1604177966} --- !u!1 &2017171800 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/UI/GachaUI.cs b/Assets/Scripts/UI/GachaUI.cs index 178238b..8ed7934 100644 --- a/Assets/Scripts/UI/GachaUI.cs +++ b/Assets/Scripts/UI/GachaUI.cs @@ -16,6 +16,8 @@ public class GachaUI : uScrollViewMgr public TextMeshProUGUI[] texts; // 0 럭키 %, 1 광고 충전량, 2 가챠 필요량, 3 충전 시간 public TextMeshProUGUI[] texts_luckypoint; // 획득한 럭키 포인트들 public GameObject go_CanEnterLuckyGame, go_autocharge; + public Animation m_GachaAnim; + public Image i_GachaReward; DateTime GachaAutoRefillTime; List<(eMoney, int)> list_log = new List<(eMoney, int)>(); @@ -50,6 +52,7 @@ public class GachaUI : uScrollViewMgr DSUtil.InActivateGameObjects(gos_grade); for (int i = 0; i < texts_luckypoint.Length; i++) texts_luckypoint[i].alpha = 0f; + m_GachaAnim.Play("Gacha_Init"); Set_UI(false); } @@ -162,45 +165,53 @@ public class GachaUI : uScrollViewMgr public void OnClick_Gacha() { - if (SaveMgr.Ins.Check_Money(eMoney.Gacha, table_GlobalValue.Ins.Get_Int("GachaAmount"))) - { - SoundInfo.Ins.Play_OneShot((eSound)Random.Range(12, 14)); - SaveMgr.Ins.Add_Money(eMoney.Gacha, -table_GlobalValue.Ins.Get_Int("GachaAmount")); - var gradedata = table_gacharateconfig.Ins.Get_RadomData(); - DSUtil.InActivateGameObjects(gos_grade, gradedata.n_GachaGrade - 1); - var reward = table_gachareward.Ins.Get_Reward(gradedata.n_GachaGrade); - switch (reward.Item1) - { - case eMoney.AlbumOpen: - SoundInfo.Ins.Play_OneShot(eSound.s006_MiniGameGetHeart); - break; - case eMoney.Chat: - SoundInfo.Ins.Play_OneShot(eSound.s007_MiniGameGetChatCoint); - break; - case eMoney.Gacha: - SoundInfo.Ins.Play_OneShot(eSound.s008_MiniGameGetGachaCoin); - break; - } - SaveMgr.Ins.Add_Money(reward.Item1, reward.Item2); - SaveMgr.Ins.Add_Money(eMoney.Lucky, reward.Item3); - SaveMgr.Ins.Save(); - list_log.Add((reward.Item1, reward.Item2)); - if (reward.Item3 > 0) - for (int i = 0; i < texts_luckypoint.Length; i++) - { - if (texts_luckypoint[i].alpha <= 0f) - { - texts_luckypoint[i].text = reward.Item3.ToString(); - texts_luckypoint[i].GetComponent().Play(); - break; - } - } - //list_log.Add((eMoney.Lucky, reward.Item3)); - Set_ScrollView(list_log); - Set_Vertical_ScrollEnd(0); - Set_UI(true); + if (!m_GachaAnim.isPlaying && SaveMgr.Ins.Check_Money(eMoney.Gacha, table_GlobalValue.Ins.Get_Int("GachaAmount"))) + StartCoroutine(Co_Gacha()); + } - GachaAutoRefillTime = InternetTime.Ins.Time.AddSeconds(table_GlobalValue.Ins.Get_Float("GachaAutoRefill_DelayTime")); + IEnumerator Co_Gacha() + { + m_GachaAnim.Play("Gacha"); + SoundInfo.Ins.Play_OneShot((eSound)Random.Range(12, 14)); + + yield return new WaitForSeconds(1.75f); + + SaveMgr.Ins.Add_Money(eMoney.Gacha, -table_GlobalValue.Ins.Get_Int("GachaAmount")); + var gradedata = table_gacharateconfig.Ins.Get_RadomData(); + DSUtil.InActivateGameObjects(gos_grade, gradedata.n_GachaGrade - 1); + var reward = table_gachareward.Ins.Get_Reward(gradedata.n_GachaGrade); + i_GachaReward.sprite = UIAtlasMgr.Ins.Get_Sprite(reward.Item1); + switch (reward.Item1) + { + case eMoney.AlbumOpen: + SoundInfo.Ins.Play_OneShot(eSound.s006_MiniGameGetHeart); + break; + case eMoney.Chat: + SoundInfo.Ins.Play_OneShot(eSound.s007_MiniGameGetChatCoint); + break; + case eMoney.Gacha: + SoundInfo.Ins.Play_OneShot(eSound.s008_MiniGameGetGachaCoin); + break; } + SaveMgr.Ins.Add_Money(reward.Item1, reward.Item2); + SaveMgr.Ins.Add_Money(eMoney.Lucky, reward.Item3); + SaveMgr.Ins.Save(); + list_log.Add((reward.Item1, reward.Item2)); + if (reward.Item3 > 0) + for (int i = 0; i < texts_luckypoint.Length; i++) + { + if (texts_luckypoint[i].alpha <= 0f) + { + texts_luckypoint[i].text = reward.Item3.ToString(); + texts_luckypoint[i].GetComponent().Play(); + break; + } + } + //list_log.Add((eMoney.Lucky, reward.Item3)); + Set_ScrollView(list_log); + Set_Vertical_ScrollEnd(0); + Set_UI(true); + + GachaAutoRefillTime = InternetTime.Ins.Time.AddSeconds(table_GlobalValue.Ins.Get_Float("GachaAutoRefill_DelayTime")); } } \ No newline at end of file