Files
JJBB/Assets/Project/Script/GUI/FactionChallenge/FactionAdvanceRankPanelCtr.cs
2024-08-23 15:49:34 +08:00

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');
}
}