using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using GCGame.Table; using XLua; //equired int32 actID = 1; // // required int32 tagID = 2; // // repeated string descs = 3; // //repeated MarketingActAwardItem awardItems = 4; // // required int32 state = 5; // 类型: 0.不可领取 1.可领取 2.已领取 // repeated string iconPath = 6; //背景路径,没有为空 //required int32 modleID = 7; //需要显示的模型CharModelId 不需要:0 // required int32 SequenceID = 8; //需要显示的序列帧Id 不需要:0 // required int32 NeedNotice = 9; //是否需要提示 0.不需要 1.需要 // required int32 isSpecialRew = 10; //是否珍品 // required int32 Quality = 11; //什么品质需要特效 -1不需要,0表示所有,之后按对应品质播放 // repeated string otherDescs = 12; //补充描述 //[LuaCallCSharp] public class tempTestStruct { public int actID; public int tagID; public List<string> descs; public int state; } // 0元购活动 public class FreeBuyRootCS : MarketingUIBaseCS { public Image banner; public Button closeBtn; public UIBackRayBehind behindMask; public UIContainerBase awardContainer; public Text remainTime; public int beforeActId; // root和页面结合在一个页面显示 private void Awake() { if (behindMask != null) { behindMask._BackClick.AddListener(Close); } if (closeBtn != null) { closeBtn.onClick.AddListener(Close); } } public void Close() { this.gameObject.SetActive(false); } private void OnEnable() { AskForMenuID(); } private void OnDisable() { if (MarketingActsRoot.Instance() != null) { MarketingActsRoot.Instance().ClearShowingWin(_ActID); MarketingActsRoot.Instance().ClearShowingWin(beforeActId); } } // 初始化相关文字信息 public void InitDesc(List<string> descs) { // 本活动应该只有一条页面描述,就是剩余时间 if(descs != null && descs.Count > 0) { remainTime.text = StrDictionary.GetServerDictionaryFormatString(descs[0]); } } // 显示奖品 protected virtual void InitAwardItem(List<MarketingActAwardTag> datas) { awardContainer.InitContentItem(datas); } #region 请求与接收处理 // 菜单请求 private void AskForMenuID() { MarketingActsReq req = new MarketingActsReq(); req.actType = this._ActID; req.SendMsg(); } // root菜单接收 protected override void MarketingActRetInner(MarketingActsRet marketActsRet) { if (marketActsRet != null && marketActsRet.actIDState.Count > 0) { beforeActId = this._ActID; MarketingActState tempActState = new MarketingActState(); tempActState.actID = marketActsRet.actIDState[0].actID; Hashtable param = new Hashtable(); param.Add("ActState", tempActState); if (MarketingActsRoot.Instance() != null) { MarketingActsRoot.Instance().LoadUICallBack(true, param, gameObject); } AskForInfo(); } } // 页面信息请求 private void AskForInfo() { MarketingActAwardPageReq req = new MarketingActAwardPageReq(); req.actID = this._ActID; req.updateOrInit = 1; req.SendMsg(); } protected override void MarketingActPageAwardRetDelInner(object packet) { MarketingActAwardPageRet info = packet as MarketingActAwardPageRet; if(info != null) { InitAwardItem(info.awardTags); InitDesc(info.descList); } } #endregion }