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

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
}