Files
JJBB/Assets/Project/Script/GUI/Recharge/DailyFirstRechargeRoot.cs
2024-08-23 15:49:34 +08:00

132 lines
3.2 KiB
C#

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<MarketingWinMenuItemCS> 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<MarketingActState> 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);
}
}
}