using UnityEngine; using System.Collections; using GCGame.Table; using System.Collections.Generic; using Module.Log; using UnityEngine.UI; // 每日首充根UI public class DailyFirstRechargeRoot : MarketingUIBaseCS { #region Single private static DailyFirstRechargeRoot _instance; public static DailyFirstRechargeRoot Instance { get { if (_instance != null) { return _instance; } LogModule.ErrorLog("DailyFirstRechargeRoot._instance = null !"); return null; } } private void Awake() { if (_instance == null) { _instance = this; } // 关闭按钮监听 if(behindMask != null) { behindMask._BackClick.AddListener(Close); } // 菜单按钮监听 if(menuBtns != null && menuBtns.Count > 0) { foreach(MarketingWinMenuItemCS menu in menuBtns) { menu._ClickEvent = OnMenuSelect; } } } #endregion public List menuBtns; public UIBackRayBehind behindMask; private int curPageID = -1; public int CurPageID { get { return curPageID; } } private void OnEnable() { AskInfo(); } private void OnDisable() { if(MarketingActsRoot.Instance() != null) { MarketingActsRoot.Instance().ClearShowingWin(_ActID); } } public void Close() { gameObject.SetActive(false); } public void AskInfo() { MarketingActsReq req = new MarketingActsReq(); req.actType = this._ActID; req.SendMsg(); } private void InitMenuItem(List actsList) { for(int i = 0; i < menuBtns.Count; i++) { if(i < actsList.Count) { Hashtable param = new Hashtable(); param.Add("InitObj", actsList[i]); menuBtns[i].Show(param); } else { menuBtns[i].gameObject.SetActive(false); } } } public void OnMenuSelect(object obj) { MarketingActState selectedMenu = obj as MarketingActState; if(selectedMenu != null) { if(MarketingActsRoot.Instance()._ShowingWin.ContainsKey(selectedMenu.actID)) { MarketingActsRoot.Instance()._ShowingWin[selectedMenu.actID].SetActive(false); MarketingActsRoot.Instance().ClearShowingWin(selectedMenu.actID); } Tab_ActInfoClient tab = TableManager.GetActInfoClientByID(selectedMenu.actID, 0); Hashtable param = new Hashtable(); param.Add("ActState", selectedMenu); LuaUIManager.Instance.ShowLuaUIAsChild(tab.UIPath, this.gameObject, MarketingActsRoot.Instance().LoadUICallBack, param, true); curPageID = selectedMenu.actID; } } protected override void MarketingActRetInner(MarketingActsRet marketActsRet) { if (marketActsRet != null) { InitMenuItem(marketActsRet.actIDState); } } }