using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using Module.Log; using GCGame.Table; using System; // 开服活动排行榜 //6766 开服活动排行榜_等级 我的等级 //6767 开服活动排行榜_宠物 宠物评分 //6768 开服活动排行榜_装备 装备评分 //6769 开服活动排行榜_未上榜 未上榜 public class OpenServiceRankPageCS : MarketingUIBaseCS { public Image banner; public Button tipBtn; public Text remainTime; public GameObject rankPanel; public Text myRank; public Text infoTitle; public Text myInfo; public Button checkRank; public UIContainerBase rankContainer; // 排行榜档位 public UIContainerBase promoteContianer; private int rankType = -1; private int tipID = -1; private void Awake() { tipBtn.onClick.AddListener(() => OnTipClick()); checkRank.onClick.AddListener(() => { OnShowRankClick(); }); rankPanel.gameObject.SetActive(false); } public void OnEnable() { var tab = TableManager.GetActInfoClientByID(this._ActID, 0); LoadAssetBundle.Instance.SetImageSprite(banner, tab.Icon); AskForInfo(); } private void OnShowRankClick() { RankWindowNew.ShowPage((RankWindowNew.RankType_T)rankType); if (OpenServiceRootCS.Instance) { OpenServiceRootCS.Instance.Close(); } //OpenServiceRankRootCS.Instance.Close(); } private void OnTipClick() { MessageHelpLogic.ShowHelpMessage(tipID); } private void InitAward(MarketingActAwardPageRet info) { rankContainer.InitContentItem(info.awardTags); int length = info.descList.Count; remainTime.text = StrDictionary.GetServerDictionaryFormatString(info.descList[length - 1]); tipID = Convert.ToInt32(info.descList[0].Trim()); List promotes = info.descList.GetRange(1, length - 2); promoteContianer.InitContentItem(promotes); } private void InitRank(RetMarketingRankData info) { rankType = info.rankType; rankPanel.gameObject.SetActive(true); switch ((RankWindowNew.RankType_T)info.rankType) { case RankWindowNew.RankType_T.EquipScoreComposite: infoTitle.text = StrDictionary.GetClientDictionaryString("#{6768}"); break; case RankWindowNew.RankType_T.PetScoreComposite: infoTitle.text = StrDictionary.GetClientDictionaryString("#{6767}"); break; case RankWindowNew.RankType_T.LevelComposite: infoTitle.text = StrDictionary.GetClientDictionaryString("#{6766}"); break; case RankWindowNew.RankType_T.BattlePointComposite: infoTitle.text = StrDictionary.GetClientDictionaryString("#{6776}"); break; case RankWindowNew.RankType_T.GemCombat: infoTitle.text = StrDictionary.GetClientDictionaryString("#{6775}"); break; case RankWindowNew.RankType_T.StrengthCombat: infoTitle.text = StrDictionary.GetClientDictionaryString("#{6774}"); break; } if(info.rank < 0) { myRank.text = StrDictionary.GetClientDictionaryString("#{6769}"); } else { myRank.text = (info.rank + 1).ToString(); } myInfo.text = info.rankVal.ToString(); if(info.NodeId >= 0) { rankContainer.ForeachActiveItem( (OpenServiceRankTagCS item) => { item.SetReachTipState(item.TagInfo.tagID == info.NodeId); }); } } #region 请求与接收处理 //// old //// 请求 protected virtual void AskForInfo() { // 奖励信息 MarketingActAwardPageReq req = new MarketingActAwardPageReq(); req.actID = this._ActID; // 初始化?更新? req.updateOrInit = 1; req.SendMsg(); } //// 新的数据接收接口 protected override void MarketingActPageAwardRetDelInner(object packet) { MarketingActAwardPageRet p = packet as MarketingActAwardPageRet; if (p != null) { LogModule.DebugLog(this.gameObject.name + " : Recieve message."); InitAward(p); // 排行榜信息 ReqMarketingRankData rankReq = new ReqMarketingRankData(); rankReq.actID = this._ActID; rankReq.SendMsg(); } RetMarketingRankData pRank = packet as RetMarketingRankData; if (pRank != null) { InitRank(pRank); } } protected override void MarketingActPageGetAwardRetInner(object packet) { //MarketingActAwardPageGetAwardRet p = packet as MarketingActAwardPageGetAwardRet; //if (p != null && p.btnState == 1) //{ // rankContainer.ForeachActiveItem((awardItem) => // { // if (awardItem.TagInfo.tagID == p.tagID) // { // awardItem.RefreshTagState(p.btnState); // } // }); //} } //////////// #endregion }