2026-04-22 11:13:16 +08:00
|
|
|
|
using FGUI.ZM_Setting_07;
|
|
|
|
|
|
using SGModule.ApplePay;
|
|
|
|
|
|
using SGModule.Common.Extensions;
|
|
|
|
|
|
using SGModule.Net;
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-04-22 09:52:55 +08:00
|
|
|
|
|
|
|
|
|
|
// using FGUI.G006_menu;
|
|
|
|
|
|
|
|
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
2026-04-22 11:13:16 +08:00
|
|
|
|
namespace LoveLegend
|
2026-04-22 09:52:55 +08:00
|
|
|
|
{
|
|
|
|
|
|
public class MenuUI : BaseUI
|
|
|
|
|
|
{
|
|
|
|
|
|
private MenuUICtrl ctrl;
|
|
|
|
|
|
private MenuModel model;
|
2026-04-22 11:13:16 +08:00
|
|
|
|
private FGUI.ZM_Setting_07.com_setting ui;
|
2026-04-22 09:52:55 +08:00
|
|
|
|
private int selectIndex = -1;
|
|
|
|
|
|
|
|
|
|
|
|
private int total_item;
|
|
|
|
|
|
|
|
|
|
|
|
public MenuUI(MenuUICtrl ctrl) : base(ctrl)
|
|
|
|
|
|
{
|
|
|
|
|
|
uiName = UIConst.MenuUI;
|
|
|
|
|
|
this.ctrl = ctrl;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void SetUIInfo(UIInfo uiInfo)
|
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
|
uiInfo.packageName = "ZM_Setting_07";
|
2026-04-22 09:52:55 +08:00
|
|
|
|
uiInfo.assetName = "com_setting";
|
|
|
|
|
|
uiInfo.layerType = UILayerType.Popup;
|
|
|
|
|
|
uiInfo.isNeedOpenAnim = false;
|
|
|
|
|
|
uiInfo.isNeedCloseAnim = false;
|
|
|
|
|
|
uiInfo.isNeedUIMask = true;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#region 生命周期
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnInit()
|
|
|
|
|
|
{
|
|
|
|
|
|
model = moduleManager.GetModel(ModelConst.MenuModel) as MenuModel;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnClose()
|
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
|
|
2026-04-22 09:52:55 +08:00
|
|
|
|
CommonHelper.FadeOut(ui);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnBind()
|
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
|
ui = baseUI as FGUI.ZM_Setting_07.com_setting;
|
2026-04-22 09:52:55 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnOpenBefore(object args)
|
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
|
|
2026-04-22 09:52:55 +08:00
|
|
|
|
if (args != null)
|
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
|
var type = (int)args;
|
|
|
|
|
|
ui.btn_back_home.visible = type == 2; //type: 1是大厅 2是游戏
|
2026-04-22 09:52:55 +08:00
|
|
|
|
}
|
2026-04-22 11:13:16 +08:00
|
|
|
|
if (Screen.safeArea.y != 0)
|
2026-04-22 09:52:55 +08:00
|
|
|
|
{
|
|
|
|
|
|
ui.com_gold.y += Screen.safeArea.y;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
2026-04-22 11:13:16 +08:00
|
|
|
|
ui.gift_switch.selectedIndex = GameHelper.IsGiftSwitch() ? 1 : 0;
|
|
|
|
|
|
|
2026-04-22 09:52:55 +08:00
|
|
|
|
total_item = 8;
|
2026-04-22 11:13:16 +08:00
|
|
|
|
selectIndex = DataMgr.PlayerAvatarId.Value;
|
2026-04-22 09:52:55 +08:00
|
|
|
|
|
|
|
|
|
|
InitView();
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnOpen(object args)
|
|
|
|
|
|
{
|
|
|
|
|
|
CommonHelper.FadeIn(ui);
|
2026-04-22 11:13:16 +08:00
|
|
|
|
|
|
|
|
|
|
// if (args != null)
|
|
|
|
|
|
// {
|
|
|
|
|
|
// ui.menu.selectedIndex = (bool)args ? com_setting.Menu_settings : com_setting.Menu_person;
|
|
|
|
|
|
|
|
|
|
|
|
// }
|
2026-04-22 09:52:55 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnHide()
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void OnDisplay(object args)
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
#region 消息
|
|
|
|
|
|
|
|
|
|
|
|
protected override void AddListener()
|
|
|
|
|
|
{
|
|
|
|
|
|
HallManager.Instance.AddChangeGiftSwitch(InitView);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected override void RemoveListener()
|
|
|
|
|
|
{
|
|
|
|
|
|
HallManager.Instance.RemoveChangeGiftSwitch(InitView);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
private void InitView()
|
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
|
ui.com_gold.GetChild("text_gold").text = $"{DataMgr.Coin.Value:N0}";
|
2026-04-22 09:52:55 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var namStr = GameHelper.GetUserName();
|
|
|
|
|
|
|
2026-04-22 11:13:16 +08:00
|
|
|
|
|
2026-04-22 09:52:55 +08:00
|
|
|
|
|
|
|
|
|
|
ui.btn_back.SetClick(OnCloseView);
|
|
|
|
|
|
ui.btn_music.SetClick(OnClickSetMusic);
|
|
|
|
|
|
ui.btn_sound.SetClick(OnClickSoundBtn);
|
|
|
|
|
|
|
|
|
|
|
|
ui.btn_privacy.menus.selectedIndex = btn_menu.Menus_privacy;
|
|
|
|
|
|
ui.btn_terms.menus.selectedIndex = btn_menu.Menus_terms;
|
|
|
|
|
|
ui.btn_official.menus.selectedIndex = btn_menu.Menus_official;
|
2026-04-22 11:13:16 +08:00
|
|
|
|
// ui.btn_credits.menus.selectedIndex = btn_menu.Menus_credits;
|
|
|
|
|
|
ui.btn_privacy.SetClick(() => { UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.PrivacyUI_Open, 0); });
|
|
|
|
|
|
ui.btn_terms.SetClick(() => { UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.PrivacyUI_Open, 1); });
|
|
|
|
|
|
ui.btn_official.SetClick(() => { OpenBrowser.OpenURL("https://www.frozenarena.top/"); });
|
|
|
|
|
|
ui.btn_us.SetClick(() => { GameHelper.OpenEmail(); });
|
|
|
|
|
|
// ui.btn_credits.SetClick(() => { UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.PrivacyUI_Open, 2); });
|
2026-04-22 09:52:55 +08:00
|
|
|
|
ui.btn_restore.SetClick(() =>
|
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
|
ApplePayManager.Instance.AppleRestore((success, message) =>
|
|
|
|
|
|
{
|
2026-04-22 09:52:55 +08:00
|
|
|
|
if (success)
|
|
|
|
|
|
{
|
|
|
|
|
|
Debug.Log("[barry] restore success: " + success);
|
2026-04-22 11:13:16 +08:00
|
|
|
|
GameHelper.ShowTips("Restore_pur", true);
|
|
|
|
|
|
SaveData.GetSaveObject().have_slot = success;
|
|
|
|
|
|
DataMgr.VipLevel.Value = 3;
|
|
|
|
|
|
DataMgr.VipExpirationTime.Value = ServerClock.GetCurrentServerTime() + 7 * 24 * 60 * 60;
|
2026-04-22 09:52:55 +08:00
|
|
|
|
}
|
|
|
|
|
|
else
|
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
|
GameHelper.ShowTips("recoverable_tips", true);
|
2026-04-22 09:52:55 +08:00
|
|
|
|
}
|
|
|
|
|
|
});
|
2026-04-22 11:13:16 +08:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
ui.btn_language.SetClick(() => {
|
|
|
|
|
|
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.LanguageViewUI_Open);
|
|
|
|
|
|
});
|
|
|
|
|
|
SetUID();
|
|
|
|
|
|
SetVersion();
|
|
|
|
|
|
RefreshMusicUI();
|
|
|
|
|
|
|
|
|
|
|
|
ui.btn_back_home.SetClick(() =>
|
|
|
|
|
|
{
|
|
|
|
|
|
GameDispatcher.Instance.Dispatch(GameMsg.ExitGame);
|
|
|
|
|
|
if (!GameHelper.GetVipPrivilege(Subscription.RemoveInterstitialAd.As<int>()) && GameHelper.IsGiftSwitch())
|
|
|
|
|
|
{
|
|
|
|
|
|
int random_ = UnityEngine.Random.Range(1, 100);
|
|
|
|
|
|
Debug.Log($"[back hall] SaveData.GetSaveObject().is_get_removead=========={SaveData.GetSaveObject().is_get_removead} ");
|
|
|
|
|
|
if (!SaveData.GetSaveObject().is_get_removead && random_ < GameHelper.GetCommonModel().HomeInterstitialAd)
|
|
|
|
|
|
{
|
|
|
|
|
|
//GameHelper.ShowInterstitial("BackHall");
|
|
|
|
|
|
uiCtrlDispatcher.Dispatch(UICtrlMsg.AdcomingUI_Open);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2026-04-22 09:52:55 +08:00
|
|
|
|
CtrlCloseUI();
|
|
|
|
|
|
});
|
2026-04-22 11:13:16 +08:00
|
|
|
|
|
2026-04-22 09:52:55 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void SetVersion()
|
|
|
|
|
|
{
|
|
|
|
|
|
// Debug.Log($"SetVersion====== {Application.version}");
|
|
|
|
|
|
ui.text_version.SetVar("count", Application.version.ToString()).FlushVars();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void SetUID()
|
|
|
|
|
|
{
|
2026-04-22 11:13:16 +08:00
|
|
|
|
ui.text_uid.SetVar("UID", GameHelper.GetLoginModel().Uid.ToString()).FlushVars();
|
2026-04-22 09:52:55 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public override void OnSwitchLanguage()
|
|
|
|
|
|
{
|
|
|
|
|
|
base.OnSwitchLanguage();
|
|
|
|
|
|
|
|
|
|
|
|
SetVersion();
|
|
|
|
|
|
|
|
|
|
|
|
SetUID();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void OnCloseView()
|
|
|
|
|
|
{
|
|
|
|
|
|
// CloseMenu();
|
|
|
|
|
|
UICtrlDispatcher.Instance.Dispatch(UICtrlMsg.MenuUI_Close, true);
|
2026-04-22 11:13:16 +08:00
|
|
|
|
TimerHelper.mEasy.AddTimer(0.5f, () =>
|
|
|
|
|
|
{
|
|
|
|
|
|
CtrlCloseUI();
|
|
|
|
|
|
});
|
2026-04-22 09:52:55 +08:00
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void OnClickSetMusic()
|
|
|
|
|
|
{
|
|
|
|
|
|
model.IsOpenMusic = !model.IsOpenMusic;
|
|
|
|
|
|
RefreshMusicUI();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void OnClickSoundBtn()
|
|
|
|
|
|
{
|
|
|
|
|
|
model.IsOpenEffect = !model.IsOpenEffect;
|
|
|
|
|
|
RefreshMusicUI();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void RefreshMusicUI()
|
|
|
|
|
|
{
|
|
|
|
|
|
ui.btn_music.on_off.selectedIndex =
|
2026-04-22 11:13:16 +08:00
|
|
|
|
model.IsOpenMusic ? 1 : 0;
|
2026-04-22 09:52:55 +08:00
|
|
|
|
ui.btn_sound.on_off.selectedIndex =
|
2026-04-22 11:13:16 +08:00
|
|
|
|
model.IsOpenEffect ? 1 : 0;
|
2026-04-22 09:52:55 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2026-04-22 11:13:16 +08:00
|
|
|
|
}
|