Files
JJBB/Assets/Project/Script/LuaScripts/UI/OpenServiceCS/OpenServiceRankPageCS.cs
2024-08-23 15:49:34 +08:00

171 lines
5.2 KiB
C#

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<string> 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>(
(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<MarketingCommonTag>((awardItem) =>
// {
// if (awardItem.TagInfo.tagID == p.tagID)
// {
// awardItem.RefreshTagState(p.btnState);
// }
// });
//}
}
////////////
#endregion
}