113 lines
3.7 KiB
C#
113 lines
3.7 KiB
C#
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<int> otherTabIdList = null;
|
|
//public void InitMenuItemContainer()
|
|
//{
|
|
// otherTabIdList = new List<int>();
|
|
// 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<FactionAdvanceRankMenuItem>(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<FactionAdvanceRankItem.FactionAdvanceRankInfoStruct> rankInfoList = new List<FactionAdvanceRankItem.FactionAdvanceRankInfoStruct>();
|
|
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');
|
|
}
|
|
|
|
}
|