using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
/// <summary>
|
/// 游戏主界面底部功能按钮
|
/// </summary>
|
public class MainWin : FunctionsBaseWin
|
{
|
//头像区
|
[SerializeField] AvatarCell avatarCell;
|
[SerializeField] Text playerNameText;
|
[SerializeField] Text powerText;
|
[SerializeField] OfficialTitleCell officialRankText;
|
[SerializeField] Text goldText;
|
[SerializeField] Text sparText;
|
|
public Text hammerText;
|
|
protected override void InitComponent()
|
{
|
base.InitComponent();
|
|
avatarCell.button.AddListener(() => { });
|
|
}
|
|
public override void Refresh()
|
{
|
UpdateCurrency();
|
UpdatePlayerInfo();
|
}
|
|
protected override void OnPreOpen()
|
{
|
PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefresh;
|
base.OnPreOpen();
|
|
// 刷新UI
|
Refresh();
|
}
|
|
protected override void OnPreClose()
|
{
|
PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefresh;
|
base.OnPreClose();
|
}
|
|
|
/// <summary>
|
/// 更新玩家信息
|
/// </summary>
|
private void UpdatePlayerInfo()
|
{
|
// 从玩家数据中获取信息并更新UI
|
avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)PlayerDatas.Instance.baseData.PlayerID,
|
PlayerDatas.Instance.baseData.face,
|
PlayerDatas.Instance.baseData.facePic));
|
|
playerNameText.text = PlayerDatas.Instance.baseData.PlayerName;
|
powerText.text = UIHelper.ReplaceLargeArtNum(PlayerDatas.Instance.baseData.FightPoint);
|
|
officialRankText.InitUI(PlayerDatas.Instance.baseData.realmLevel, PlayerDatas.Instance.baseData.TitleID);
|
}
|
|
void PlayerDataRefresh(PlayerDataType type)
|
{
|
switch (type)
|
{
|
case PlayerDataType.FightPower:
|
powerText.text = UIHelper.ReplaceLargeArtNum(PlayerDatas.Instance.baseData.FightPoint);
|
break;
|
case PlayerDataType.RealmLevel:
|
officialRankText.InitUI(PlayerDatas.Instance.baseData.realmLevel, PlayerDatas.Instance.baseData.TitleID);
|
break;
|
case PlayerDataType.Gold:
|
goldText.text = UIHelper.GetMoneyCntEx(1).ToString();
|
break;
|
case PlayerDataType.default33:
|
sparText.text = UIHelper.GetMoneyCnt(42).ToString();
|
break;
|
case PlayerDataType.Face:
|
case PlayerDataType.FacePic:
|
avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)PlayerDatas.Instance.baseData.PlayerID,
|
PlayerDatas.Instance.baseData.face,
|
PlayerDatas.Instance.baseData.facePic));
|
break;
|
case PlayerDataType.default26:
|
hammerText.text = UIHelper.GetMoneyCnt(41).ToString();
|
break;
|
|
}
|
|
}
|
|
|
/// <summary>
|
/// 更新货币信息
|
/// </summary>
|
private void UpdateCurrency()
|
{
|
hammerText.text = UIHelper.GetMoneyCnt(41).ToString();
|
goldText.text = UIHelper.GetMoneyCntEx(1).ToString();
|
sparText.text = UIHelper.ReplaceLargeNumEx(UIHelper.GetMoneyCnt(42));
|
}
|
|
/// <summary>
|
/// 底部标签按钮点击
|
/// </summary>
|
protected override void OnTabButtonClicked(int index)
|
{
|
if (index == 0)
|
{
|
if (currentSubUI != null && currentSubUI.name == "HomeWin")
|
{
|
//打开主界面的情况下再点击按钮,执行攻击逻辑
|
StoryBattleField storyBattleField = BattleManager.Instance.storyBattleField;
|
if (storyBattleField != null)
|
{
|
storyBattleField.operationAgent.DoNext();
|
}
|
}
|
}
|
SelectBottomTab(index);
|
}
|
|
|
/// <summary>
|
/// 根据标签索引打开对应的子界面
|
/// </summary>
|
protected override void OpenSubUIByTabIndex()
|
{
|
|
Debug.Log("打开子界面 : " + functionOrder);
|
// 主城 内政 武将 挑战 公会
|
//根据索引打开不同的界面
|
switch (functionOrder)
|
{
|
case 0:
|
// 打开主页界面
|
if (!UIManager.Instance.IsOpened<BattleWin>())
|
{
|
BattleWin battleWin = UIManager.Instance.OpenWindow<BattleWin>();
|
battleWin.SetBattleField(BattleManager.Instance.storyBattleField);
|
}
|
else
|
{
|
BattleWin battleWin = UIManager.Instance.GetUI<BattleWin>();
|
battleWin.SetBattleField(BattleManager.Instance.storyBattleField);
|
}
|
currentSubUI = UIManager.Instance.OpenWindow<HomeWin>();
|
Debug.Log("打开主城界面");
|
break;
|
case 1:
|
currentSubUI = UIManager.Instance.OpenWindow<RolePackWin>();
|
Debug.Log("打开内政界面");
|
break;
|
case 2:
|
currentSubUI = UIManager.Instance.OpenWindow<HeroBaseWin>(0);
|
Debug.Log("打开武将界面");
|
break;
|
case 3:
|
// currentSubUI = UIManager.Instance.OpenUI<QuestUI>();
|
Debug.Log("打开挑战界面");
|
break;
|
case 4:
|
//currentSubUI = UIManager.Instance.OpenWindow<PlaceWin>();
|
Debug.Log("打开公会界面");
|
break;
|
default:
|
Debug.LogWarning("未知的标签索引: " + functionOrder);
|
break;
|
}
|
}
|
}
|