2024-12-15 01:39:39 +00:00
|
|
|
using UnityEngine;
|
|
|
|
|
using UnityEngine.Rendering.Universal;
|
|
|
|
|
|
|
|
|
|
public class NewGameUI : MonoBehaviourSingletonTemplate<NewGameUI>
|
|
|
|
|
{
|
2025-03-04 07:30:03 +00:00
|
|
|
public Camera UICamera;
|
2024-12-15 01:39:39 +00:00
|
|
|
public GameObject[] gos; // 0 공용 ui, 1 로비 ui들, 2 인게임 ui들, 3 농장 ui들
|
2025-01-26 03:52:03 +00:00
|
|
|
public GameObject[] gos_ingame; // 0 스테이지, 1 던전
|
|
|
|
|
public Ingame_Dungeon ingame_dungeon;
|
2025-01-22 23:03:43 +00:00
|
|
|
public GameObject[] gos_etc; // 0 힘민지 레벨업
|
2024-12-15 01:39:39 +00:00
|
|
|
public Transform tf_HUD;
|
|
|
|
|
public GuideQuestUI m_GuideQuestUI;
|
|
|
|
|
public MapChoiceUI m_MapChoiceUI;
|
|
|
|
|
public BangchiUI m_BangchiUI;
|
|
|
|
|
public PCUI m_PCUI;
|
|
|
|
|
public EquipmentUI m_EquipmentUI;
|
|
|
|
|
public SkillUI m_SkillUI;
|
|
|
|
|
public PetUI m_PetUI;
|
2025-04-15 00:28:07 +00:00
|
|
|
public GachaUI m_GachaUI;
|
2025-04-21 05:07:30 +00:00
|
|
|
public ShopUI m_ShopUI;
|
2024-12-15 01:39:39 +00:00
|
|
|
public CollectionUI m_CollectionUI;
|
|
|
|
|
public BattleUI m_BattleUI;
|
|
|
|
|
public IngamePetCard[] arr_PetCard;
|
|
|
|
|
public BotMenuBase[] FarmMenu;
|
2025-03-17 07:34:17 +00:00
|
|
|
public MissionUI m_MissionUI;
|
2025-03-26 00:49:56 +00:00
|
|
|
public BuffADUI m_BuffADUI;
|
2025-04-18 22:47:44 +00:00
|
|
|
public GameObject[] gos_noti; // 0 우편, 1 뽑기
|
2024-12-15 01:39:39 +00:00
|
|
|
|
2025-01-10 00:55:09 +00:00
|
|
|
bool ShowQuick = true;
|
|
|
|
|
|
2024-12-15 01:39:39 +00:00
|
|
|
private void Start()
|
|
|
|
|
{
|
2025-08-19 03:02:15 +00:00
|
|
|
Set_TestUI();
|
|
|
|
|
|
2024-12-15 01:39:39 +00:00
|
|
|
m_GuideQuestUI.Set();
|
2026-09-13 03:18:24 +00:00
|
|
|
InGameInfo.Ins.Load_Map(WL.Island.WLIslandSettings.StartMapId(-1)); // #816 1줄 훅 — 섬에서 시작(끄면 -1 그대로)
|
2024-12-15 01:39:39 +00:00
|
|
|
var cameraData = Camera.main.GetUniversalAdditionalCameraData();
|
2025-03-04 07:30:03 +00:00
|
|
|
cameraData.cameraStack.Add(UICamera);
|
2025-07-25 00:13:41 +00:00
|
|
|
// OffLineReward // TODO 정인호 : 오프라인 보상 설정
|
2025-04-14 02:34:12 +00:00
|
|
|
|
2025-04-18 22:47:44 +00:00
|
|
|
Set_Noti();
|
2024-12-15 01:39:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#if UNITY_EDITOR
|
|
|
|
|
private void Update()
|
|
|
|
|
{
|
|
|
|
|
if (Input.GetKey(KeyCode.P))
|
|
|
|
|
UnityEditor.EditorApplication.isPaused = !UnityEditor.EditorApplication.isPaused;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
2025-04-18 22:47:44 +00:00
|
|
|
public void Set_Noti()
|
|
|
|
|
{
|
|
|
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
2025-07-29 01:23:52 +00:00
|
|
|
gos_noti[0].SetActive(ServerInfo.Ins.m_Mail.Mail.Count > 0);
|
2025-04-18 22:47:44 +00:00
|
|
|
gos_noti[1].SetActive(sdata.Noti_Gacha());
|
|
|
|
|
}
|
|
|
|
|
|
2024-12-15 01:39:39 +00:00
|
|
|
public void SetUI_byGameMode(eGameMode gameMode, bool farm = false)
|
|
|
|
|
{
|
|
|
|
|
if (farm) gameMode = eGameMode.Stage;
|
|
|
|
|
|
|
|
|
|
switch (gameMode)
|
|
|
|
|
{
|
|
|
|
|
case eGameMode.Lobby:
|
|
|
|
|
DSUtil.InActivateGameObjects(gos, 0);
|
|
|
|
|
gos[1].SetActive(true);
|
|
|
|
|
break;
|
|
|
|
|
case eGameMode.Stage:
|
|
|
|
|
DSUtil.InActivateGameObjects(gos, 0);
|
|
|
|
|
gos[2].SetActive(true);
|
2025-01-22 23:03:43 +00:00
|
|
|
DSUtil.InActivateGameObjects(gos_ingame, 0);
|
2025-04-02 01:16:20 +00:00
|
|
|
gos_etc[0].SetActive(MyValue.MyChoiceMapData.n_MapID > 0);
|
2024-12-15 01:39:39 +00:00
|
|
|
break;
|
|
|
|
|
case eGameMode.MyFarm:
|
|
|
|
|
DSUtil.InActivateGameObjects(gos, 3);
|
|
|
|
|
break;
|
2025-01-22 23:03:43 +00:00
|
|
|
case eGameMode.Dungeon:
|
|
|
|
|
DSUtil.InActivateGameObjects(gos, 2);
|
2025-02-03 02:14:02 +00:00
|
|
|
gos_etc[0].SetActive(MyValue.MyChoiceMapData.Get_MapData().e_Dungeon == eDungeon.d4_Wave);
|
2025-01-22 23:03:43 +00:00
|
|
|
DSUtil.InActivateGameObjects(gos_ingame, 1);
|
2025-01-28 04:23:32 +00:00
|
|
|
Refresh_DungeonUI();
|
2025-01-22 23:03:43 +00:00
|
|
|
break;
|
2024-12-15 01:39:39 +00:00
|
|
|
}
|
2025-01-14 05:12:32 +00:00
|
|
|
|
|
|
|
|
m_BattleUI.Set(eUICardType.Use, ServerInfo.Ins.m_ServerData.Equip.Preset);
|
2026-09-06 23:24:25 +00:00
|
|
|
WL.UI.WLIngameUiOverride.Apply(this, gameMode); // PD 지시 #775 — 전투 패드 숨김 · 중복 공용 UI 인게임 한정 토글
|
2025-03-10 07:25:29 +00:00
|
|
|
LoadingUI.Ins.End_Loading(1);
|
2024-12-15 01:39:39 +00:00
|
|
|
}
|
2025-01-28 04:23:32 +00:00
|
|
|
public void Refresh_DungeonUI(int addmob = 0)
|
|
|
|
|
{
|
|
|
|
|
var dungeonData = MyValue.MyChoiceMapData.Get_DungeonMapData_orNull();
|
|
|
|
|
if (!DSUtil.CheckNull(dungeonData))
|
|
|
|
|
ingame_dungeon.Set(dungeonData.f_Time, dungeonData.n_MobCount + addmob);
|
|
|
|
|
}
|
2024-12-15 01:39:39 +00:00
|
|
|
|
|
|
|
|
public void OnClick_Button(GameObject go)
|
|
|
|
|
{
|
|
|
|
|
switch (go.name)
|
|
|
|
|
{
|
2025-01-10 00:55:09 +00:00
|
|
|
case "btn_quick":
|
|
|
|
|
ShowQuick = !ShowQuick;
|
|
|
|
|
go.GetComponent<Animation>().Play(ShowQuick ? "UIRot_Z_0to180" : "UIRot_Z_180to0");
|
|
|
|
|
break;
|
2024-12-15 01:39:39 +00:00
|
|
|
case "btn_map": m_MapChoiceUI.Set(); break;
|
|
|
|
|
case "btn_setting": OptionInfo.Ins.Set(); break;
|
|
|
|
|
case "btn_pcinfo": m_PCUI.Set(); break;
|
|
|
|
|
case "btn_equipment": m_EquipmentUI.Set(); break;
|
|
|
|
|
case "btn_skill": m_SkillUI.Set(); break;
|
|
|
|
|
case "btn_pet": m_PetUI.Set(); break;
|
2025-04-15 00:28:07 +00:00
|
|
|
case "btn_gacha": m_GachaUI.Set(); break;
|
2025-04-21 05:07:30 +00:00
|
|
|
case "btn_shop": m_ShopUI.Set(); break;
|
2024-12-15 01:39:39 +00:00
|
|
|
case "btn_collection": m_CollectionUI.Set(); break;
|
2025-03-17 07:34:17 +00:00
|
|
|
case "btn_mission": m_MissionUI.Set(); break;
|
2025-03-26 00:49:56 +00:00
|
|
|
case "btn_buffad": m_BuffADUI.Set(); break;
|
2025-07-24 22:57:52 +00:00
|
|
|
case "btn_mail": MailUI.Ins.Set(); break;
|
2024-12-15 01:39:39 +00:00
|
|
|
|
2025-01-22 07:20:20 +00:00
|
|
|
case "btn_farm": InGameInfo.Ins.Load_Map(0); break;
|
2024-12-15 01:39:39 +00:00
|
|
|
case "btn_btn_plantingseed": break;
|
|
|
|
|
case "btn_warehouse": break;
|
|
|
|
|
case "btn_farmer": break;
|
|
|
|
|
case "btn_gofarm": break; // 농장 돌아다니기
|
|
|
|
|
|
|
|
|
|
case "btn_exit":
|
|
|
|
|
if (!DSUtil.CheckNull(FarmFarmUI.Ins) && FarmFarmUI.Ins.isActiveAndEnabled)
|
|
|
|
|
FarmFarmUI.Ins.ReturnToFarm();
|
2025-01-26 18:40:10 +00:00
|
|
|
else if (InGameInfo.Ins.IsGameMode(eGameMode.Dungeon))
|
2025-01-26 03:52:03 +00:00
|
|
|
DungeonInfo.Ins.Stop_Dungeon(null);
|
2025-01-27 02:05:25 +00:00
|
|
|
else
|
2025-06-28 00:28:41 +00:00
|
|
|
{
|
2025-07-29 04:13:40 +00:00
|
|
|
ServerInfo.Ins.Save_StageResult(result =>
|
|
|
|
|
{
|
|
|
|
|
var sdata = ServerInfo.Ins.m_ServerData;
|
|
|
|
|
sdata.Set_Item(2, result.gold);
|
|
|
|
|
var map = MyValue.MyChoiceMapData;
|
|
|
|
|
sdata.MapData_Set_StatLv(map.n_MapID, map.n_Difficult, eMainStatType.STR, result.mainstat[eMainStatType.STR]);
|
|
|
|
|
sdata.MapData_Set_StatLv(map.n_MapID, map.n_Difficult, eMainStatType.DEX, result.mainstat[eMainStatType.DEX]);
|
|
|
|
|
sdata.MapData_Set_StatLv(map.n_MapID, map.n_Difficult, eMainStatType.INT, result.mainstat[eMainStatType.INT]);
|
|
|
|
|
});
|
2025-01-27 02:05:25 +00:00
|
|
|
InGameInfo.Ins.Return_To_Lobby();
|
2025-06-28 00:28:41 +00:00
|
|
|
}
|
2025-04-02 01:16:20 +00:00
|
|
|
|
2025-07-23 03:31:50 +00:00
|
|
|
CloseAllFarmUI();
|
2025-04-02 01:16:20 +00:00
|
|
|
TestMapUIMgr.Ins.Set_TestBtns(false);
|
2024-12-15 01:39:39 +00:00
|
|
|
break;
|
2025-04-02 00:32:25 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
#if UNITY_EDITOR
|
|
|
|
|
case "btn_testmap":
|
|
|
|
|
InGameInfo.Ins.Load_Map(-99);
|
2025-04-02 01:16:20 +00:00
|
|
|
TestMapUIMgr.Ins.Set_TestBtns(true);
|
2025-04-02 00:32:25 +00:00
|
|
|
break;
|
|
|
|
|
#endif
|
2024-12-15 01:39:39 +00:00
|
|
|
}
|
|
|
|
|
}
|
2025-07-22 06:43:35 +00:00
|
|
|
public void OnClick_FarmButton(int index)
|
2025-07-23 03:31:50 +00:00
|
|
|
{
|
|
|
|
|
CloseAllFarmUI();
|
|
|
|
|
FarmMenu[index].Set();
|
|
|
|
|
}
|
|
|
|
|
void CloseAllFarmUI()
|
2025-07-22 06:43:35 +00:00
|
|
|
{
|
|
|
|
|
for (int i = 0; i < FarmMenu.Length; i++)
|
|
|
|
|
FarmMenu[i].OnClick_Back();
|
|
|
|
|
}
|
2025-08-19 03:02:15 +00:00
|
|
|
|
|
|
|
|
public GameObject[] gos_test;
|
|
|
|
|
void Set_TestUI()
|
|
|
|
|
{
|
|
|
|
|
#if UNITY_EDITOR
|
|
|
|
|
DSUtil.ActivateGameObjects(gos_test);
|
|
|
|
|
#else
|
|
|
|
|
DSUtil.InActivateGameObjects(gos_test);
|
|
|
|
|
#endif
|
|
|
|
|
}
|
2024-12-15 01:39:39 +00:00
|
|
|
}
|