125 lines
3.3 KiB
C#
125 lines
3.3 KiB
C#
using UnityEngine;
|
|
using System.Collections;
|
|
using UnityEngine.UI;
|
|
using GCGame.Table;
|
|
using System.Collections.Generic;
|
|
using System;
|
|
using Module.Log;
|
|
|
|
// 开服累充
|
|
public class OpenServiceAccumulateRechargeCS : MarketingUIBaseCS
|
|
{
|
|
public Image banner;
|
|
public List<Text> descs;
|
|
public UIContainerBase awardContainer;
|
|
public Button rechargeBtn;
|
|
|
|
private void Awake()
|
|
{
|
|
rechargeBtn.onClick.AddListener(
|
|
() =>
|
|
{
|
|
YuanBaoShopLogic.OpenChargePage();
|
|
});
|
|
}
|
|
|
|
protected virtual void OnEnable()
|
|
{
|
|
InitBG();
|
|
AskForInfo();
|
|
}
|
|
|
|
// 设置Banner图片
|
|
protected virtual void InitBG()
|
|
{
|
|
Tab_ActInfoClient tab = TableManager.GetActInfoClientByID(this._ActID, 0);
|
|
if(tab != null && !string.IsNullOrEmpty(tab.Icon))
|
|
{
|
|
LoadAssetBundle.Instance.SetImageSprite(banner, tab.Icon);
|
|
}
|
|
}
|
|
|
|
// 显示文字
|
|
protected virtual void InitDesc(List<string> datas)
|
|
{
|
|
for(int i = 0; i < descs.Count; i++)
|
|
{
|
|
if(i < datas.Count && !string.IsNullOrEmpty(datas[i]))
|
|
{
|
|
descs[i].text = StrDictionary.GetServerDictionaryFormatString(datas[i]);
|
|
descs[i].gameObject.SetActive(true);
|
|
}
|
|
else
|
|
{
|
|
descs[i].gameObject.SetActive(false);
|
|
}
|
|
}
|
|
}
|
|
|
|
// 显示奖品
|
|
// 这个活动需要特殊处理,它定位具体某一档奖励的需求
|
|
protected virtual void InitAwardItem(List<MarketingActAwardTag> datas)
|
|
{
|
|
UIContainerSelect contaienr = awardContainer as UIContainerSelect;
|
|
|
|
int tagIndex = OpenServiceRootCS.OpenWithTagIndex;
|
|
// 用完重置
|
|
OpenServiceRootCS.OpenWithTagIndex = -1;
|
|
|
|
if (tagIndex != -1 && tagIndex < datas.Count)
|
|
{
|
|
List<MarketingActAwardTag> select = new List<MarketingActAwardTag>();
|
|
select.Add(datas[tagIndex]);
|
|
contaienr.InitSelectContent(datas, select);
|
|
}
|
|
else
|
|
{
|
|
contaienr.InitContentItem(datas);
|
|
}
|
|
}
|
|
|
|
|
|
#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.");
|
|
InitDesc(p.descList);
|
|
InitAwardItem(p.awardTags);
|
|
}
|
|
}
|
|
|
|
protected override void MarketingActPageGetAwardRetInner(object packet)
|
|
{
|
|
MarketingActAwardPageGetAwardRet p = packet as MarketingActAwardPageGetAwardRet;
|
|
|
|
if (p != null && p.btnState == 1)
|
|
{
|
|
awardContainer.ForeachActiveItem<MarketingCommonTag>((awardItem) =>
|
|
{
|
|
if (awardItem.TagInfo.tagID == p.tagID)
|
|
{
|
|
awardItem.RefreshTagState(p.btnState);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
////////////
|
|
#endregion
|
|
}
|