171 lines
5.2 KiB
C#
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
|
|
|
|
}
|