From 4fe3eb4304b259abeaac51a717cc4a70648ab689 Mon Sep 17 00:00:00 2001 From: Ino Date: Tue, 16 Sep 2025 09:55:24 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8F=AD=ED=83=84=20=EC=95=84=EC=9D=B4?= =?UTF-8?q?=ED=85=9C=20=EC=82=AC=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scenes/SampleScene.unity | 8 ++-- Assets/Scripts/Game/Game_Mini.cs | 57 ++++++++++++++++++++------ Assets/Scripts/Game/MiniGameObtacle.cs | 11 ++++- Assets/Scripts/UI/MiniGameItemCard.cs | 35 ++++++++++------ Assets/SheGotWet_Memo.txt | 2 - 5 files changed, 81 insertions(+), 32 deletions(-) diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index 08065d7..b7afe03 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -30342,7 +30342,7 @@ MonoBehaviour: m_Calls: - m_Target: {fileID: 549946067} m_TargetAssemblyTypeName: MiniGameItemCard, Assembly-CSharp - m_MethodName: OnClick_Use + m_MethodName: OnClick_AD m_Mode: 1 m_Arguments: m_ObjectArgument: {fileID: 0} @@ -32980,7 +32980,7 @@ MonoBehaviour: m_Calls: - m_Target: {fileID: 1439057740} m_TargetAssemblyTypeName: MiniGameItemCard, Assembly-CSharp - m_MethodName: OnClick_Use + m_MethodName: OnClick_AD m_Mode: 1 m_Arguments: m_ObjectArgument: {fileID: 0} @@ -38634,6 +38634,7 @@ MonoBehaviour: - {fileID: 990497011} - {fileID: 1301406509} - {fileID: 278813020} + - {fileID: 2057533035} m_AttandanceUI: {fileID: 388368217} m_OptionUI: {fileID: 2034573240} m_ProfileUI: {fileID: 1457200138} @@ -45534,6 +45535,7 @@ MonoBehaviour: - {fileID: 903863711} tf_pc: {fileID: 754949300} m_Joystick: {fileID: 1165478906} + NoDamage: 0 --- !u!1 &2010236531 GameObject: m_ObjectHideFlags: 0 @@ -48211,7 +48213,7 @@ MonoBehaviour: m_Calls: - m_Target: {fileID: 1256458700} m_TargetAssemblyTypeName: MiniGameItemCard, Assembly-CSharp - m_MethodName: OnClick_Use + m_MethodName: OnClick_AD m_Mode: 1 m_Arguments: m_ObjectArgument: {fileID: 0} diff --git a/Assets/Scripts/Game/Game_Mini.cs b/Assets/Scripts/Game/Game_Mini.cs index 2ce266b..a913e1d 100644 --- a/Assets/Scripts/Game/Game_Mini.cs +++ b/Assets/Scripts/Game/Game_Mini.cs @@ -21,6 +21,11 @@ public class Game_Mini : MonoBehaviour public RectTransform tf_pc; public Joystick m_Joystick; +#if UNITY_EDITOR + [Header("Test")] + public bool NoDamage; +#endif + // 1 평소, 2 맞았을 때 AsyncOperationHandle m_Handle1, m_Handle2, m_HandleSD; ProtectedInt32 m_HP; @@ -223,6 +228,9 @@ public class Game_Mini : MonoBehaviour { case eMiniGameObtacleType.White: case eMiniGameObtacleType.Red: +#if UNITY_EDITOR + if (NoDamage) yield break; +#endif m_HP -= val; m_HP.Obfuscate(); slider_hp.value = m_HP / table_GlobalValue.Ins.Get_Float("MiniGameHP"); @@ -231,23 +239,13 @@ public class Game_Mini : MonoBehaviour break; case eMiniGameObtacleType.HpHeal: m_HP += val; + if (m_HP > table_GlobalValue.Ins.Get_Float("MiniGameHP")) + m_HP = table_GlobalValue.Ins.Get_Int("MiniGameHP"); m_HP.Obfuscate(); slider_hp.value = m_HP / table_GlobalValue.Ins.Get_Float("MiniGameHP"); break; default: - if (!dic_Money.ContainsKey(type)) - dic_Money.Add(type, 0); - dic_Money[type] += val; - - if (type == eMiniGameObtacleType.ItemBomb || type == eMiniGameObtacleType.ItemUmbrella || - type == eMiniGameObtacleType.ItemDildo) - { - if (dic_Money[type] > 5) dic_Money[type] = 5; - } - - dic_Money[type].Obfuscate(); - if (dic_MoneyText.ContainsKey(type)) - dic_MoneyText[type].text = dic_Money[type].ToString(); + Add_Item(type, val); break; } @@ -274,6 +272,39 @@ public class Game_Mini : MonoBehaviour } public Dictionary Get_ResultMoney() { return dic_Money; } + public void Use_Item(eMiniGameObtacleType item) + { + --dic_Money[item]; + dic_Money[item].Obfuscate(); + dic_MoneyText[item].text = dic_Money[item].ToString(); + + switch (item) + { // 아이템 적용 + case eMiniGameObtacleType.ItemBomb: + list_MiniGameObtacle.ForEach(f => f.Off_OnlyObtacle()); + break; + case eMiniGameObtacleType.ItemUmbrella: + break; + case eMiniGameObtacleType.ItemDildo: + break; + } + } + public void Add_Item(eMiniGameObtacleType type, int val) + { + if (!dic_Money.ContainsKey(type)) + dic_Money.Add(type, 0); + dic_Money[type] += val; + + if (type == eMiniGameObtacleType.ItemBomb || type == eMiniGameObtacleType.ItemUmbrella || + type == eMiniGameObtacleType.ItemDildo) + { + if (dic_Money[type] > 5) dic_Money[type] = 5; + } + + dic_Money[type].Obfuscate(); + if (dic_MoneyText.ContainsKey(type)) + dic_MoneyText[type].text = dic_Money[type].ToString(); + } public void Show_HitEffect(Vector3 pos) { diff --git a/Assets/Scripts/Game/MiniGameObtacle.cs b/Assets/Scripts/Game/MiniGameObtacle.cs index 2693199..d0f4341 100644 --- a/Assets/Scripts/Game/MiniGameObtacle.cs +++ b/Assets/Scripts/Game/MiniGameObtacle.cs @@ -103,13 +103,20 @@ public class MiniGameObtacle : MonoBehaviour } } - void Off(bool showeffect) + public void Off_OnlyObtacle() + { + if (m_Type == eMiniGameObtacleType.White || m_Type == eMiniGameObtacleType.Red) + Off(true); + } + + void Off(bool showeffect, bool playsound = true) { gameObject.SetActive(false); if (showeffect) { LobbyUI.Ins.m_Game_Mini.Show_HitEffect(m_RectTransform.position); - SoundInfo.Ins.Play_OneShot(eSound.s002_Bubble, 1f); + if (playsound) + SoundInfo.Ins.Play_OneShot(eSound.s002_Bubble, 1f); } } diff --git a/Assets/Scripts/UI/MiniGameItemCard.cs b/Assets/Scripts/UI/MiniGameItemCard.cs index 4cc87ce..3b5a006 100644 --- a/Assets/Scripts/UI/MiniGameItemCard.cs +++ b/Assets/Scripts/UI/MiniGameItemCard.cs @@ -1,5 +1,6 @@ using UnityEngine; using UnityEngine.UI; +using static UnityEditor.Timeline.Actions.MenuPriority; public enum eMiniGameItem { @@ -21,39 +22,49 @@ public class MiniGameItemCard : MonoBehaviour case eMiniGameItem.Bomb: i_item.sprite = UIAtlasMgr.Ins.Get_Sprite("item_bomb"); //t_amount.text = SaveMgr.Ins.Get_Money(eMoney.ItemBomb).ToString(); - go_btnPlus.SetActive(SaveMgr.Ins.Get_Money(eMoney.ItemBomb) < 5); + go_btnPlus.SetActive(Get_ItemAmount(eMiniGameObtacleType.ItemBomb) < 5); break; case eMiniGameItem.Umbrella: i_item.sprite = UIAtlasMgr.Ins.Get_Sprite("item_umbrella"); //t_amount.text = SaveMgr.Ins.Get_Money(eMoney.ItemUmbrella).ToString(); - go_btnPlus.SetActive(SaveMgr.Ins.Get_Money(eMoney.ItemUmbrella) < 5); + go_btnPlus.SetActive(Get_ItemAmount(eMiniGameObtacleType.ItemUmbrella) < 5); break; case eMiniGameItem.Dildo: i_item.sprite = UIAtlasMgr.Ins.Get_Sprite("item_dildo"); //t_amount.text = SaveMgr.Ins.Get_Money(eMoney.ItemDildo).ToString(); - go_btnPlus.SetActive(SaveMgr.Ins.Get_Money(eMoney.ItemDildo) < 5); + go_btnPlus.SetActive(Get_ItemAmount(eMiniGameObtacleType.ItemDildo) < 5); break; } } + int Get_ItemAmount(eMiniGameObtacleType item) { return LobbyUI.Ins.m_Game_Mini.Get_ResultMoney()[item]; } + void Use_Item(eMiniGameObtacleType item) { if (Get_ItemAmount(item) > 0) LobbyUI.Ins.m_Game_Mini.Use_Item(item); } + public void OnClick_Use() + { + switch (m_Item) + { + case eMiniGameItem.Bomb: Use_Item(eMiniGameObtacleType.ItemBomb); break; + case eMiniGameItem.Umbrella: Use_Item(eMiniGameObtacleType.ItemUmbrella); break; + case eMiniGameItem.Dildo: Use_Item(eMiniGameObtacleType.ItemDildo); break; + } + } + + public void OnClick_AD() { switch (m_Item) { case eMiniGameItem.Bomb: - if (SaveMgr.Ins.Check_Money(eMoney.ItemBomb, 1, false)) - { - } + if (Get_ItemAmount(eMiniGameObtacleType.ItemBomb) < 5) + ADInfo.Ins.Show_AD(true, () => { LobbyUI.Ins.m_Game_Mini.Add_Item(eMiniGameObtacleType.ItemBomb, 1); }); break; case eMiniGameItem.Umbrella: - if (SaveMgr.Ins.Check_Money(eMoney.ItemUmbrella, 1, false)) - { - } + if (Get_ItemAmount(eMiniGameObtacleType.ItemUmbrella) < 5) + ADInfo.Ins.Show_AD(true, () => { LobbyUI.Ins.m_Game_Mini.Add_Item(eMiniGameObtacleType.ItemUmbrella, 1); }); break; case eMiniGameItem.Dildo: - if (SaveMgr.Ins.Check_Money(eMoney.ItemDildo, 1, false)) - { - } + if (Get_ItemAmount(eMiniGameObtacleType.ItemDildo) < 5) + ADInfo.Ins.Show_AD(true, () => { LobbyUI.Ins.m_Game_Mini.Add_Item(eMiniGameObtacleType.ItemDildo, 1); }); break; } } diff --git a/Assets/SheGotWet_Memo.txt b/Assets/SheGotWet_Memo.txt index e0c0828..996859b 100644 --- a/Assets/SheGotWet_Memo.txt +++ b/Assets/SheGotWet_Memo.txt @@ -1,7 +1,5 @@ 사운드 및 BGM 요청 미니게임 만들기 - - 미니게임을 진행하기 위해서는 체력이 필요하며, 체력은 완전 소진 후 매 20분마다 완전 회복된다. - - 광고 적용 - 아이템 기능 구현 - 광고 제거권