2026-02-13 19:23:01 +08:00
|
|
|
using Assets.MyGame.Scripts.Net;
|
|
|
|
|
using Assets.MyGame.Scripts.Net.API.GameConfig_SubClass;
|
2026-04-11 18:30:45 +08:00
|
|
|
using Assets.MyGame.Scripts.Net.APIRequest.Objs;
|
|
|
|
|
using Assets.MyGame.Scripts.Net.APIResponses.HomeMain_User;
|
2026-02-03 11:35:19 +08:00
|
|
|
using System.Collections;
|
2025-12-11 16:40:24 +08:00
|
|
|
using System.Collections.Generic;
|
2026-04-13 18:30:55 +08:00
|
|
|
using TMPro;
|
2025-12-11 16:40:24 +08:00
|
|
|
using UnityEngine;
|
|
|
|
|
using UnityEngine.UI;
|
|
|
|
|
|
|
|
|
|
public class UIHomeMain : UIBase
|
|
|
|
|
{
|
|
|
|
|
public SubUIManager subUIManager;
|
|
|
|
|
public UIPanelAddressConfig panelAddressConfig;
|
|
|
|
|
public Transform SubPanelParent;
|
2026-04-13 18:30:55 +08:00
|
|
|
public TextMeshProUGUI tMP_GoldCoinNum;
|
|
|
|
|
public TextMeshProUGUI tMP_DiamondNum;
|
2026-04-16 18:31:04 +08:00
|
|
|
|
|
|
|
|
public Button btn_UserInfo;
|
2026-06-11 19:37:56 +08:00
|
|
|
[Header("user")]
|
|
|
|
|
public TextMeshProUGUI userName;
|
|
|
|
|
public TextMeshProUGUI userID;
|
|
|
|
|
public Image sprite_Avatar;
|
2026-07-06 02:08:18 +08:00
|
|
|
public Image sprite_AvatarFrame;
|
2026-07-04 19:56:30 +08:00
|
|
|
public Image img_VIP;
|
2026-07-02 15:24:25 +08:00
|
|
|
public List<Sprite> sprite_VIP;
|
2026-06-11 19:37:56 +08:00
|
|
|
|
2025-12-11 16:40:24 +08:00
|
|
|
#region 中间
|
|
|
|
|
[Header("风雷之渊")]
|
2025-12-26 11:15:56 +08:00
|
|
|
public Button FXYButton;
|
2025-12-11 16:40:24 +08:00
|
|
|
[Header("星际迷航")]
|
|
|
|
|
public Button XJMHButton;
|
|
|
|
|
[Header("太古仙墟")]
|
|
|
|
|
public Button TGXXButton;
|
|
|
|
|
[Header("黑化悟空")]
|
|
|
|
|
public Button HHWKButton;
|
|
|
|
|
[Header("中国象棋")]
|
|
|
|
|
public Button ZGXQButton;
|
|
|
|
|
[Header("敬请期待")]
|
|
|
|
|
public Button JQQDButton;
|
|
|
|
|
#endregion
|
|
|
|
|
[Header("两侧按钮")]
|
|
|
|
|
[Header("Left")]
|
|
|
|
|
#region left
|
|
|
|
|
public Button btn_VIP;
|
|
|
|
|
public Button btn_JJJ;
|
|
|
|
|
public Button btn_Activity;
|
|
|
|
|
#endregion
|
|
|
|
|
[Header("Right")]
|
|
|
|
|
#region Right
|
|
|
|
|
public Button btn_Turret;
|
|
|
|
|
public Button btn_ZS;
|
2025-12-13 18:18:28 +08:00
|
|
|
public Button btn_Setting;
|
|
|
|
|
#endregion
|
|
|
|
|
[Header("Botton")]
|
|
|
|
|
#region Right
|
|
|
|
|
public Button btn_MonthCard;
|
|
|
|
|
public Button btn_BackPack;
|
|
|
|
|
public Button btn_Announcenment;
|
|
|
|
|
public Button btn_Rank;
|
|
|
|
|
public Button btn_Email;
|
|
|
|
|
public Button btn_SafeBox;
|
|
|
|
|
public Button btn_Service;
|
|
|
|
|
public Button btn_Shop;
|
2025-12-11 16:40:24 +08:00
|
|
|
#endregion
|
2026-07-06 04:06:56 +08:00
|
|
|
[Header("跳转商城")]
|
|
|
|
|
public Button btn_ShopDiamond;
|
|
|
|
|
public Button btn_ShopGlod;
|
2025-12-11 16:40:24 +08:00
|
|
|
private void Awake()
|
|
|
|
|
{
|
2026-06-26 17:26:10 +08:00
|
|
|
// 订阅事件
|
2026-06-21 18:20:55 +08:00
|
|
|
GameManager.Instance.OnAvatarChanged += OnAvatarChanged_Refresh;
|
2026-07-06 02:08:18 +08:00
|
|
|
GameManager.Instance.OnAvatarFrameChanged += OnAvatarFrameChanged_Refresh;
|
2026-06-26 17:26:10 +08:00
|
|
|
GameManager.Instance.OnUserDataChanged += UpdateUserData;
|
2026-04-29 23:53:55 +08:00
|
|
|
|
2026-02-26 11:05:56 +08:00
|
|
|
subUIManager = new SubUIManager(SubPanelParent, panelAddressConfig,this);
|
2025-12-26 11:15:56 +08:00
|
|
|
#region Center
|
2026-02-10 13:59:03 +08:00
|
|
|
//defaultButton.onClick.AddListener(() =>
|
|
|
|
|
//{
|
|
|
|
|
// subUIManager.ShowAsync(UIPanel.SelectRoomPenel,GameType.defaultPanel);
|
|
|
|
|
//});
|
2025-12-26 11:15:56 +08:00
|
|
|
FXYButton.onClick.AddListener(() =>
|
|
|
|
|
{
|
2026-03-18 17:26:14 +08:00
|
|
|
subUIManager.ShowAsync(UIPanel.SelectRoomLeavePenel, GameType.FLZY);
|
2025-12-26 11:15:56 +08:00
|
|
|
});
|
|
|
|
|
TGXXButton.onClick.AddListener(() =>
|
|
|
|
|
{
|
2026-05-27 19:47:06 +08:00
|
|
|
//subUIManager.ShowAsync(UIPanel.SelectRoomLeavePenel, GameType.YYSC);
|
|
|
|
|
UIManager.Instance.ShowBoardError("维护中...");
|
2025-12-26 11:15:56 +08:00
|
|
|
});
|
|
|
|
|
ZGXQButton.onClick.AddListener(() =>
|
|
|
|
|
{
|
2026-02-13 19:23:01 +08:00
|
|
|
//subUIManager.ShowAsync(UIPanel.SelectRoomPenel, GameType.ZGXQ);
|
|
|
|
|
WebSocketManager.Instance.Connect(SocketType.chess, () =>{
|
2026-07-07 00:18:26 +08:00
|
|
|
// WebSocketManager.OnOpen 已处理首次 GetRoomList,这里不再重复调用
|
2026-02-13 19:23:01 +08:00
|
|
|
});
|
|
|
|
|
|
2025-12-26 11:15:56 +08:00
|
|
|
});
|
|
|
|
|
XJMHButton.onClick.AddListener(() =>
|
|
|
|
|
{
|
2026-05-27 19:47:06 +08:00
|
|
|
//subUIManager.ShowAsync(UIPanel.SelectRoomLeavePenel, GameType.XJMH);
|
|
|
|
|
UIManager.Instance.ShowBoardError("维护中...");
|
|
|
|
|
|
2025-12-26 11:15:56 +08:00
|
|
|
});
|
|
|
|
|
HHWKButton.onClick.AddListener(() =>
|
|
|
|
|
{
|
2026-03-18 17:26:14 +08:00
|
|
|
subUIManager.ShowAsync(UIPanel.SelectRoomLeavePenel, GameType.HHWK);
|
2025-12-26 11:15:56 +08:00
|
|
|
});
|
|
|
|
|
JQQDButton.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
//这里弹出一行字
|
2025-12-13 18:18:28 +08:00
|
|
|
});
|
|
|
|
|
#endregion
|
2026-02-03 11:35:19 +08:00
|
|
|
|
2025-12-13 18:18:28 +08:00
|
|
|
#region left
|
|
|
|
|
btn_VIP.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
subUIManager.ShowAsync(UIPanel.VIPPenel);
|
|
|
|
|
});
|
|
|
|
|
btn_JJJ.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
subUIManager.ShowAsync(UIPanel.JJJPenel);
|
|
|
|
|
});
|
|
|
|
|
btn_Activity.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
subUIManager.ShowAsync(UIPanel.ActivityPenel);
|
|
|
|
|
});
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region right
|
|
|
|
|
btn_Setting.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
subUIManager.ShowAsync(UIPanel.SettingPanel);
|
|
|
|
|
});
|
|
|
|
|
btn_Turret.onClick.AddListener(() =>
|
|
|
|
|
{
|
2026-02-03 11:35:19 +08:00
|
|
|
subUIManager.ShowAsync(UIPanel.TurretPanel,ItemPanelSelect.Turrect);
|
2025-12-13 18:18:28 +08:00
|
|
|
});
|
|
|
|
|
btn_ZS.onClick.AddListener(() =>
|
|
|
|
|
{
|
2026-02-03 11:35:19 +08:00
|
|
|
subUIManager.ShowAsync(UIPanel.ZSPanel, ItemPanelSelect.ZS);
|
2025-12-13 18:18:28 +08:00
|
|
|
});
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Bottom
|
|
|
|
|
|
|
|
|
|
btn_MonthCard.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
subUIManager.ShowAsync(UIPanel.MonthCardPanel);
|
|
|
|
|
});
|
|
|
|
|
btn_BackPack.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
subUIManager.ShowAsync(UIPanel.BackPackPanel);
|
|
|
|
|
});
|
|
|
|
|
btn_Announcenment.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
subUIManager.ShowAsync(UIPanel.AnnouncementPanel);
|
2026-06-14 20:26:21 +08:00
|
|
|
//APIRequestList.GetNoticeList((list) =>
|
|
|
|
|
//{
|
|
|
|
|
// subUIManager.ShowAsync(UIPanel.AnnouncementPanel, list);
|
|
|
|
|
//});
|
2025-12-13 18:18:28 +08:00
|
|
|
});
|
|
|
|
|
btn_Rank.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
subUIManager.ShowAsync(UIPanel.RankPanel);
|
|
|
|
|
});
|
|
|
|
|
btn_Email.onClick.AddListener(() =>
|
|
|
|
|
{
|
2026-04-10 18:30:56 +08:00
|
|
|
|
2026-04-11 18:30:45 +08:00
|
|
|
APIRequestList.GetEmailByPage(new GetEmailByPageObj
|
|
|
|
|
{
|
|
|
|
|
keyWord = "",
|
|
|
|
|
pageIndex = 0,
|
|
|
|
|
pageSize = 200,
|
|
|
|
|
readStatus = 0
|
|
|
|
|
}, (GetEmailByPageResponse) =>
|
|
|
|
|
{
|
|
|
|
|
subUIManager.ShowAsync(UIPanel.EmailPanel,GetEmailByPageResponse);
|
|
|
|
|
});
|
|
|
|
|
//subUIManager.ShowAsync(UIPanel.EmailPanel);
|
2025-12-13 18:18:28 +08:00
|
|
|
});
|
|
|
|
|
btn_SafeBox.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
subUIManager.ShowAsync(UIPanel.SafeBoxPanel);
|
|
|
|
|
});
|
|
|
|
|
btn_Service.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
subUIManager.ShowAsync(UIPanel.ServicePanel);
|
|
|
|
|
});
|
|
|
|
|
btn_Shop.onClick.AddListener(() =>
|
|
|
|
|
{
|
|
|
|
|
subUIManager.ShowAsync(UIPanel.ShopPanel);
|
|
|
|
|
});
|
|
|
|
|
#endregion
|
|
|
|
|
|
2026-07-06 04:06:56 +08:00
|
|
|
btn_ShopDiamond.onClick.AddListener(() => subUIManager.ShowAsync(UIPanel.ShopPanel, ShopTab.Diamond));
|
|
|
|
|
btn_ShopGlod.onClick.AddListener(() => subUIManager.ShowAsync(UIPanel.ShopPanel, ShopTab.Gold));
|
|
|
|
|
|
2026-04-16 18:31:04 +08:00
|
|
|
btn_UserInfo.onClick.AddListener(()=>subUIManager.ShowAsync(UIPanel.UserInfo));
|
2025-12-11 16:40:24 +08:00
|
|
|
}
|
2026-04-13 18:30:55 +08:00
|
|
|
protected override void OnShow(object args = null)
|
|
|
|
|
{
|
2026-04-29 23:53:55 +08:00
|
|
|
|
2026-04-13 18:30:55 +08:00
|
|
|
base.OnShow(args);
|
2026-04-29 23:53:55 +08:00
|
|
|
AudioManager.Instance.ChangeBG(69001);
|
|
|
|
|
|
2026-04-13 18:30:55 +08:00
|
|
|
UpdateUserData();
|
|
|
|
|
}
|
|
|
|
|
public void UpdateUserData()
|
|
|
|
|
{
|
|
|
|
|
tMP_GoldCoinNum.text = GameManager.Instance.user.assets.gold.ToString();
|
|
|
|
|
tMP_DiamondNum.text = GameManager.Instance.user.assets.diamond.ToString();
|
2026-06-11 19:37:56 +08:00
|
|
|
|
|
|
|
|
userName.text = GameManager.Instance.user.BaseInfo.userName;
|
|
|
|
|
userID.text = GameManager.Instance.user.BaseInfo.number;
|
2026-07-04 19:56:30 +08:00
|
|
|
img_VIP.sprite = sprite_VIP[GameManager.Instance.user.assets.vipLevel];
|
2026-06-21 18:20:55 +08:00
|
|
|
RefreshAvatar();
|
2026-07-06 02:08:18 +08:00
|
|
|
RefreshAvatarFrame();
|
2026-07-05 02:10:44 +08:00
|
|
|
img_VIP.SetNativeSize();
|
2026-04-13 18:30:55 +08:00
|
|
|
}
|
2026-06-21 18:20:55 +08:00
|
|
|
|
|
|
|
|
private void RefreshAvatar()
|
|
|
|
|
{
|
|
|
|
|
var sprite = GameManager.Instance.GetAvatarSprite(GameManager.Instance.user.BaseInfo.avatarUrl);
|
|
|
|
|
if (sprite != null) sprite_Avatar.sprite = sprite;
|
|
|
|
|
else GameManager.Instance.user.BaseInfo.UpdateAvatar((a) => { if (a != null) sprite_Avatar.sprite = a; });
|
|
|
|
|
}
|
|
|
|
|
|
2026-07-06 02:08:18 +08:00
|
|
|
private void RefreshAvatarFrame()
|
|
|
|
|
{
|
|
|
|
|
if (sprite_AvatarFrame == null) return;
|
|
|
|
|
var frame = GameManager.Instance.GetAvatarFrameSprite(GameManager.Instance.user.BaseInfo.avatarFrame);
|
|
|
|
|
if (frame != null) sprite_AvatarFrame.sprite = frame;
|
|
|
|
|
}
|
|
|
|
|
|
2026-06-21 18:20:55 +08:00
|
|
|
private void OnAvatarChanged_Refresh(Sprite sprite)
|
|
|
|
|
{
|
|
|
|
|
if (sprite != null) sprite_Avatar.sprite = sprite;
|
|
|
|
|
}
|
|
|
|
|
|
2026-07-06 02:08:18 +08:00
|
|
|
private void OnAvatarFrameChanged_Refresh(Sprite sprite)
|
|
|
|
|
{
|
|
|
|
|
if (sprite_AvatarFrame != null && sprite != null)
|
|
|
|
|
sprite_AvatarFrame.sprite = sprite;
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-29 23:53:55 +08:00
|
|
|
protected override void OnHide()
|
|
|
|
|
{
|
|
|
|
|
base.OnHide();
|
2026-07-05 02:10:44 +08:00
|
|
|
GameManager.Instance.OnAvatarChanged -= OnAvatarChanged_Refresh;
|
2026-07-06 02:08:18 +08:00
|
|
|
GameManager.Instance.OnAvatarFrameChanged -= OnAvatarFrameChanged_Refresh;
|
2026-07-05 02:10:44 +08:00
|
|
|
GameManager.Instance.OnUserDataChanged -= UpdateUserData;
|
2026-04-29 23:53:55 +08:00
|
|
|
AudioManager.Instance.StopBG();
|
|
|
|
|
}
|
2025-12-11 16:40:24 +08:00
|
|
|
}
|