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") 
 | 
            { 
 | 
                //打开主界面的情况下再点击按钮,执行攻击逻辑 
 | 
            } 
 | 
        } 
 | 
        SelectBottomTab(index); 
 | 
    } 
 | 
     
 | 
  
 | 
     
 | 
    /// <summary> 
 | 
    /// 更新按钮状态 
 | 
    /// </summary> 
 | 
    protected override void UpdateButtonsState() 
 | 
    { 
 | 
        // 遍历所有按钮,设置选中状态 
 | 
        // for (int i = 0; i < tabButtons.Length; i++) 
 | 
        // { 
 | 
  
 | 
        //     // bottomTabButtons[i].image.color = (i == currentTabIndex) ?  Color.white : Color.gray; 
 | 
        // } 
 | 
    } 
 | 
     
 | 
  
 | 
  
 | 
    /// <summary> 
 | 
    /// 根据标签索引打开对应的子界面 
 | 
    /// </summary> 
 | 
    protected override void OpenSubUIByTabIndex() 
 | 
    { 
 | 
  
 | 
        Debug.Log("打开子界面 : " + functionOrder); 
 | 
        // 主城 内政 武将 挑战 公会 
 | 
        //根据索引打开不同的界面 
 | 
         switch (functionOrder) 
 | 
        { 
 | 
            case 0: 
 | 
                // 打开主页界面 
 | 
                currentSubUI = UIManager.Instance.OpenWindow<HomeWin>(); 
 | 
                Debug.Log("打开主城界面"); 
 | 
                break; 
 | 
            case 1: 
 | 
                // currentSubUI = UIManager.Instance.OpenUI<CharacterUI>(); 
 | 
                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; 
 | 
        } 
 | 
    } 
 | 
} 
 |