256 lines
8.1 KiB
C#
256 lines
8.1 KiB
C#
using Assets.MyGame.Scripts.Net;
|
|
using Assets.MyGame.Scripts.Net.API.GameConfig_SubClass;
|
|
using Assets.MyGame.Scripts.Net.APIRequest.Objs;
|
|
using Assets.MyGame.Scripts.Net.APIResponses.HomeMain_User;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
public class UIHomeMain : UIBase
|
|
{
|
|
public SubUIManager subUIManager;
|
|
public UIPanelAddressConfig panelAddressConfig;
|
|
public Transform SubPanelParent;
|
|
public TextMeshProUGUI tMP_GoldCoinNum;
|
|
public TextMeshProUGUI tMP_DiamondNum;
|
|
|
|
public Button btn_UserInfo;
|
|
[Header("user")]
|
|
public TextMeshProUGUI userName;
|
|
public TextMeshProUGUI userID;
|
|
public Image sprite_Avatar;
|
|
public Image sprite_AvatarFrame;
|
|
public Image img_VIP;
|
|
public List<Sprite> sprite_VIP;
|
|
|
|
#region 中间
|
|
[Header("风雷之渊")]
|
|
public Button FXYButton;
|
|
[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;
|
|
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;
|
|
#endregion
|
|
[Header("跳转商城")]
|
|
public Button btn_ShopDiamond;
|
|
public Button btn_ShopGlod;
|
|
private void Awake()
|
|
{
|
|
// 订阅事件
|
|
GameManager.Instance.OnAvatarChanged += OnAvatarChanged_Refresh;
|
|
GameManager.Instance.OnAvatarFrameChanged += OnAvatarFrameChanged_Refresh;
|
|
GameManager.Instance.OnUserDataChanged += UpdateUserData;
|
|
|
|
subUIManager = new SubUIManager(SubPanelParent, panelAddressConfig,this);
|
|
#region Center
|
|
//defaultButton.onClick.AddListener(() =>
|
|
//{
|
|
// subUIManager.ShowAsync(UIPanel.SelectRoomPenel,GameType.defaultPanel);
|
|
//});
|
|
FXYButton.onClick.AddListener(() =>
|
|
{
|
|
subUIManager.ShowAsync(UIPanel.SelectRoomLeavePenel, GameType.FLZY);
|
|
});
|
|
TGXXButton.onClick.AddListener(() =>
|
|
{
|
|
//subUIManager.ShowAsync(UIPanel.SelectRoomLeavePenel, GameType.YYSC);
|
|
UIManager.Instance.ShowBoardError("维护中...");
|
|
});
|
|
ZGXQButton.onClick.AddListener(() =>
|
|
{
|
|
//subUIManager.ShowAsync(UIPanel.SelectRoomPenel, GameType.ZGXQ);
|
|
WebSocketManager.Instance.Connect(SocketType.chess, () =>{
|
|
WebSocketSendList.GetRoomListChineseChess(1);
|
|
});
|
|
|
|
});
|
|
XJMHButton.onClick.AddListener(() =>
|
|
{
|
|
//subUIManager.ShowAsync(UIPanel.SelectRoomLeavePenel, GameType.XJMH);
|
|
UIManager.Instance.ShowBoardError("维护中...");
|
|
|
|
});
|
|
HHWKButton.onClick.AddListener(() =>
|
|
{
|
|
subUIManager.ShowAsync(UIPanel.SelectRoomLeavePenel, GameType.HHWK);
|
|
});
|
|
JQQDButton.onClick.AddListener(() =>
|
|
{
|
|
//这里弹出一行字
|
|
});
|
|
#endregion
|
|
|
|
#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(() =>
|
|
{
|
|
subUIManager.ShowAsync(UIPanel.TurretPanel,ItemPanelSelect.Turrect);
|
|
});
|
|
btn_ZS.onClick.AddListener(() =>
|
|
{
|
|
subUIManager.ShowAsync(UIPanel.ZSPanel, ItemPanelSelect.ZS);
|
|
});
|
|
#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);
|
|
//APIRequestList.GetNoticeList((list) =>
|
|
//{
|
|
// subUIManager.ShowAsync(UIPanel.AnnouncementPanel, list);
|
|
//});
|
|
});
|
|
btn_Rank.onClick.AddListener(() =>
|
|
{
|
|
subUIManager.ShowAsync(UIPanel.RankPanel);
|
|
});
|
|
btn_Email.onClick.AddListener(() =>
|
|
{
|
|
|
|
APIRequestList.GetEmailByPage(new GetEmailByPageObj
|
|
{
|
|
keyWord = "",
|
|
pageIndex = 0,
|
|
pageSize = 200,
|
|
readStatus = 0
|
|
}, (GetEmailByPageResponse) =>
|
|
{
|
|
subUIManager.ShowAsync(UIPanel.EmailPanel,GetEmailByPageResponse);
|
|
});
|
|
//subUIManager.ShowAsync(UIPanel.EmailPanel);
|
|
});
|
|
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
|
|
|
|
btn_ShopDiamond.onClick.AddListener(() => subUIManager.ShowAsync(UIPanel.ShopPanel, ShopTab.Diamond));
|
|
btn_ShopGlod.onClick.AddListener(() => subUIManager.ShowAsync(UIPanel.ShopPanel, ShopTab.Gold));
|
|
|
|
btn_UserInfo.onClick.AddListener(()=>subUIManager.ShowAsync(UIPanel.UserInfo));
|
|
}
|
|
protected override void OnShow(object args = null)
|
|
{
|
|
|
|
base.OnShow(args);
|
|
AudioManager.Instance.ChangeBG(69001);
|
|
|
|
UpdateUserData();
|
|
}
|
|
public void UpdateUserData()
|
|
{
|
|
tMP_GoldCoinNum.text = GameManager.Instance.user.assets.gold.ToString();
|
|
tMP_DiamondNum.text = GameManager.Instance.user.assets.diamond.ToString();
|
|
|
|
userName.text = GameManager.Instance.user.BaseInfo.userName;
|
|
userID.text = GameManager.Instance.user.BaseInfo.number;
|
|
img_VIP.sprite = sprite_VIP[GameManager.Instance.user.assets.vipLevel];
|
|
RefreshAvatar();
|
|
RefreshAvatarFrame();
|
|
img_VIP.SetNativeSize();
|
|
}
|
|
|
|
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; });
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
private void OnAvatarChanged_Refresh(Sprite sprite)
|
|
{
|
|
if (sprite != null) sprite_Avatar.sprite = sprite;
|
|
}
|
|
|
|
private void OnAvatarFrameChanged_Refresh(Sprite sprite)
|
|
{
|
|
if (sprite_AvatarFrame != null && sprite != null)
|
|
sprite_AvatarFrame.sprite = sprite;
|
|
}
|
|
|
|
protected override void OnHide()
|
|
{
|
|
base.OnHide();
|
|
GameManager.Instance.OnAvatarChanged -= OnAvatarChanged_Refresh;
|
|
GameManager.Instance.OnAvatarFrameChanged -= OnAvatarFrameChanged_Refresh;
|
|
GameManager.Instance.OnUserDataChanged -= UpdateUserData;
|
|
AudioManager.Instance.StopBG();
|
|
}
|
|
}
|