Shegotwet/Assets/Scripts/UI/LobbyUI.cs

126 lines
4.1 KiB
C#
Raw Normal View History

using System.Collections;
2025-09-12 03:45:57 +00:00
using TMPro;
using UnityEngine;
public class LobbyUI : MonoBehaviourSingletonTemplate<LobbyUI>
{
[SerializeField] TextMeshProUGUI[] texts_money; // 0 앨범 개방 재화, 1 채팅 재화, 2 뽑기 재화, 3 미니게임 체력
2025-09-12 03:45:57 +00:00
2025-09-12 12:48:21 +00:00
[Header("Popup UI")]
[SerializeField] AttandanceUI m_AttandanceUI;
2025-09-11 06:10:39 +00:00
[SerializeField] OptionUI m_OptionUI;
2025-09-11 06:23:15 +00:00
[SerializeField] ProfileUI m_ProfileUI;
public ToastUI m_ToastUI;
2025-09-26 07:27:36 +00:00
public PopupUI m_PopupUI;
2025-09-12 04:10:11 +00:00
2025-09-12 12:48:21 +00:00
[Header("Center UI")]
2025-09-19 05:56:38 +00:00
[SerializeField] LobbyCenterProfileUI m_LobbyCenterProfileUI;
2025-09-19 04:31:12 +00:00
public AlbumUI m_AlbumUI;
2025-09-12 04:10:11 +00:00
[SerializeField] GachaUI m_GachaUI;
2025-09-26 00:11:53 +00:00
public ChatUI m_ChatUI;
2025-09-13 05:13:33 +00:00
[Header("Bot UI")]
[SerializeField] GameObject[] gos_homeBot; // 게임 버튼
2025-09-12 12:48:21 +00:00
[Header("Games")]
2025-09-12 19:39:24 +00:00
public Game_Lucky m_Game_Lucky;
2025-09-14 04:12:35 +00:00
public Game_Mini m_Game_Mini;
2025-09-13 05:13:33 +00:00
[SerializeField] GameObject go_shop;
2025-09-12 12:48:21 +00:00
IEnumerator Start()
{
yield return null;
if (SaveMgr.Ins.CanGet_Attandance())
m_AttandanceUI.Set();
ADInfo.Ins.Set_Banner(true);
2025-09-19 05:56:38 +00:00
m_LobbyCenterProfileUI.Set();
//Act_Repeat_for1sec = () =>
//{
// if (SaveMgr.Ins.Get_Money(eMoney.MiniGameHP) <= 0)
// {
// var cal =
// }
//};
}
public void OnClick_Button(GameObject btn)
{
switch (btn.name)
{
case "btn_attendance": m_AttandanceUI.Set(); break;
2025-09-11 06:10:39 +00:00
case "btn_option": m_OptionUI.Set(); break;
2025-09-19 03:21:14 +00:00
case "btn_album":
Go_Home();
m_AlbumUI.Set();
DSUtil.InActivateGameObjects(gos_homeBot);
break;
2025-09-13 21:57:57 +00:00
case "btn_home": Go_Home(); break;
2025-09-12 04:10:11 +00:00
case "btn_gacha": m_GachaUI.Set(); break;
2025-09-13 05:13:33 +00:00
case "btn_shop":
2025-09-13 21:57:57 +00:00
Go_Home();
2025-09-13 05:13:33 +00:00
go_shop.SetActive(true);
DSUtil.InActivateGameObjects(gos_homeBot);
break;
2025-09-14 04:12:35 +00:00
case "btn_minigame":
2025-09-25 06:05:11 +00:00
if (SaveMgr.Ins.IsInfinityMiniGame())
{
m_Game_Mini.Set();
return;
}
if (SaveMgr.Ins.Check_Money(eMoney.MiniGameHP, 1, false))
{
SaveMgr.Ins.Add_Money(eMoney.MiniGameHP, -1);
m_Game_Mini.Set();
if (!SaveMgr.Ins.Check_Money(eMoney.MiniGameHP, 1, false))
SaveMgr.Ins.Set_MiniGameTime();
else
SaveMgr.Ins.Save();
}
else
{
var cal = SaveMgr.Ins.Get_MiniGameTime() - InternetTime.Ins.Time;
if (cal.TotalSeconds > 0)
m_ToastUI.Set($"미니게임 체력 모두 충전까지 남은 시간\n{cal}");
else
{
SaveMgr.Ins.Set_Money(eMoney.MiniGameHP, table_GlobalValue.Ins.Get_Int("MiniGame_TotalEnterMoney"));
SaveMgr.Ins.Save();
m_ToastUI.Set($"미니게임 체력이 모두 충전되었습니다.");
}
}
2025-09-14 04:12:35 +00:00
break;
}
}
2025-09-19 19:31:06 +00:00
public void Go_Home()
2025-09-13 21:57:57 +00:00
{
2025-09-19 19:31:06 +00:00
SoundInfo.Ins.Play_BGM(eBGM.b001_BGM);
2025-09-13 21:57:57 +00:00
m_AlbumUI.gameObject.SetActive(false);
m_GachaUI.gameObject.SetActive(false);
go_shop.SetActive(false);
DSUtil.ActivateGameObjects(gos_homeBot);
}
2025-09-11 06:23:15 +00:00
public void Go_Album(int girlid)
{
Go_Home();
m_AlbumUI.Set(girlid);
DSUtil.InActivateGameObjects(gos_homeBot);
}
2025-09-12 03:45:57 +00:00
public void Set_Money()
{
2025-09-12 04:04:46 +00:00
texts_money[0].text = SaveMgr.Ins.Get_Money(eMoney.AlbumOpen).ToString();
texts_money[1].text = SaveMgr.Ins.Get_Money(eMoney.Chat).ToString();
texts_money[2].text = SaveMgr.Ins.Get_Money(eMoney.Gacha).ToString();
//if (SaveMgr.Ins.Get_Money(eMoney.MiniGameHP) > 0)
texts_money[3].text = SaveMgr.Ins.Get_Money(eMoney.MiniGameHP).ToString();
2025-09-12 03:45:57 +00:00
}
2025-09-11 06:23:15 +00:00
public void Show_Profile(int girlid)
{
m_ProfileUI.Set(girlid);
}
}