using UnityEngine; using System.Collections; using UnityEngine.UI; using System.Collections.Generic; using GCGame.Table; public class FactionAdvanceRankPanelCtr : MonoBehaviour { #region public UIContainerBase _MenuItemContainer; public UIContainerBase _FactionAdvanceRankItemContainer; #endregion public static FactionAdvanceRankPanelCtr Instance; private void Awake() { Instance = this; } private void OnEnable() { // InitMenuItemContainer(); ReqRankInfo(); } private List otherTabIdList = null; //public void InitMenuItemContainer() //{ // otherTabIdList = new List(); // foreach(var tab in TableManager.GetFactionAdvanceOther()) // { // otherTabIdList.Add(tab.Key); // } // _MenuItemContainer.SetShowItemFinishCallFun(ShowDefaultFirst); // _MenuItemContainer.InitContentItem(otherTabIdList); //} //public void ShowDefaultFirst() //{ // if (otherTabIdList.Count > 0) // { // var otherTab = TableManager.GetFactionAdvanceOtherByID(otherTabIdList[0], 0); // OnMenuClick(otherTab.MaxLevel); // } //} //private int _CurSelectLevelType = -1; //public void OnMenuClick(object param) //{ // _MenuItemContainer.ForeachActiveItem(item => { // item.ShowMarkIcon((int)param == item._CurSelectLevelEnum); // }); // //申请当前分段的信息 // CG_REQ_PROF_PASS_LAYER req = (CG_REQ_PROF_PASS_LAYER)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_PROF_PASS_LAYER); // req.Type = (int)CG_REQ_PROF_PASS_LAYER.REQ_PASS_LAYER_TYPE.RANK_INFO; // req.Param = (int)param; // req.SendPacket(); //} void ReqRankInfo() { CG_REQ_PROF_PASS_LAYER req = (CG_REQ_PROF_PASS_LAYER)PacketDistributed.CreatePacket(MessageID.PACKET_CG_REQ_PROF_PASS_LAYER); req.Type = (int)CG_REQ_PROF_PASS_LAYER.REQ_PASS_LAYER_TYPE.RANK_INFO; req.Param = TableManager.GetActivityProfPassLayerOtherByID(0, 0).GetLevelSecbyIndex(0); req.SendPacket(); } public void OnPacket(GC_PROF_PASS_LAYER_RANK packet) { List rankInfoList = new List(); var hasRank = false; for(int index = 0; index < packet.rankinfoCount; index++) { var packetInfo = packet.GetRankinfo(index); FactionAdvanceRankItem.FactionAdvanceRankInfoStruct info = new FactionAdvanceRankItem.FactionAdvanceRankInfoStruct( index + 1, packetInfo.Name, packetInfo.Level.ToString(), packetInfo.Costtime); if(packetInfo.Name.Equals(GameManager.gameManager.PlayerDataPool.MainPlayerBaseAttr.RoleName)) { hasRank = true; InitSelfRecordInfo(info); } rankInfoList.Add(info); } if(!hasRank) { _SelfRank.text = StrDictionary.GetClientDictionaryString("#{62937}"); _SelfTime.text = StrDictionary.GetClientDictionaryString("#{62937}"); } _FactionAdvanceRankItemContainer.InitContentItem(rankInfoList); } public void OnCloseBtnClick() { this.gameObject.SetActive(false); } public Text _SelfRank; public Text _SelfTime; public void InitSelfRecordInfo(FactionAdvanceRankItem.FactionAdvanceRankInfoStruct info) { _SelfRank.text = info._rank.ToString(); _SelfTime.text = GetTimeString(info._rolePassedTime); } public string GetTimeString(int time) { return (time / 60).ToString().PadLeft(2, '0') + ":" + (time % 60).ToString().PadLeft(2, '0'); } }