273 lines
7.8 KiB
C#
273 lines
7.8 KiB
C#
|
using UnityEngine;
|
|||
|
using System.Collections;
|
|||
|
using GCGame.Table;
|
|||
|
using System.Collections.Generic;
|
|||
|
using Module.Log;
|
|||
|
using UnityEngine.UI;
|
|||
|
using GCGame;
|
|||
|
|
|||
|
// 每日累充 - 已将每日充值和每日累充合并
|
|||
|
public class DailyRechargeRoot : MarketingUIBaseCS
|
|||
|
{
|
|||
|
public CommonItemRecharge[] items; // 内容数组
|
|||
|
public Image descNum;
|
|||
|
public Sprite[] descNumRes;
|
|||
|
|
|||
|
private UIBackRayBehind behindGO; // 点击背景
|
|||
|
private Button closeBtn; // 关闭按钮
|
|||
|
private Button confirmBtn; // 确认按钮
|
|||
|
private GameObject hasGetGO; // 已领取按钮显示
|
|||
|
private RectTransform menuListRt; // 标签,菜单父级物体
|
|||
|
private RectTransform contentListRt; // 内容父级物体
|
|||
|
private RechargeMenuItem[] menuItems; // 菜单数组
|
|||
|
private RechargeMenuItem curMenu; // 目前的选中的菜单
|
|||
|
|
|||
|
private void Awake()
|
|||
|
{
|
|||
|
behindGO = transform.Find("BehindImage").GetComponent<UIBackRayBehind>();
|
|||
|
closeBtn = transform.Find("BG/Btn_Close").GetComponent<Button>();
|
|||
|
confirmBtn = transform.Find("BG/Btn_Confirm").GetComponent<Button>();
|
|||
|
hasGetGO = transform.Find("BG/Btn_HasGet").gameObject;
|
|||
|
menuListRt = transform.Find("MenuList").GetComponent<RectTransform>();
|
|||
|
contentListRt = transform.Find("Contents").GetComponent<RectTransform>();
|
|||
|
menuItems = menuListRt.GetComponentsInChildren<RechargeMenuItem>();
|
|||
|
|
|||
|
// 按钮事件添加监听
|
|||
|
behindGO._BackClick.AddListener(CloseWindow);
|
|||
|
closeBtn.onClick.AddListener(CloseWindow);
|
|||
|
confirmBtn.onClick.AddListener(OnConfirmClick);
|
|||
|
|
|||
|
for (int i = 0; i < menuItems.Length; i++)
|
|||
|
{
|
|||
|
menuItems[i]._PanelClickEvent = OnMenuItemSelect;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 用于设置活动接收菜单数据后显示的活动
|
|||
|
// 无论存在此活动与否,都要在第一次显示过后,设回 -1
|
|||
|
// -1 不跳转
|
|||
|
private static int openWithAct = -1;
|
|||
|
public static int OpenWithAct
|
|||
|
{
|
|||
|
set { openWithAct = value; }
|
|||
|
}
|
|||
|
|
|||
|
private int beforeActId = -1;
|
|||
|
|
|||
|
private void OnEnable()
|
|||
|
{
|
|||
|
AskInfo();
|
|||
|
}
|
|||
|
|
|||
|
public void CloseWindow()
|
|||
|
{
|
|||
|
gameObject.SetActive(false);
|
|||
|
}
|
|||
|
|
|||
|
private void OnDisable()
|
|||
|
{
|
|||
|
if(MarketingActsRoot.Instance() != null)
|
|||
|
{
|
|||
|
if (MarketingActsRoot.Instance()._ShowingWin.ContainsKey(_ActID))
|
|||
|
{
|
|||
|
MarketingActsRoot.Instance().ClearShowingWin(_ActID);
|
|||
|
}
|
|||
|
|
|||
|
if(beforeActId != -1)
|
|||
|
{
|
|||
|
MarketingActsRoot.Instance().ClearShowingWin(beforeActId);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void InitMenuList(List<MarketingActPacketSubTag> menuInfos)
|
|||
|
{
|
|||
|
for (int i = 0; i < menuItems.Length; i++)
|
|||
|
{
|
|||
|
if (i < menuInfos.Count)
|
|||
|
{
|
|||
|
Hashtable info = new Hashtable();
|
|||
|
info.Add("InitObj", menuInfos[i]);
|
|||
|
|
|||
|
menuItems[i].Show(info);
|
|||
|
menuItems[i].index = i;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// 寻找下一个需要显示的菜单
|
|||
|
public void MoveNext()
|
|||
|
{
|
|||
|
int nextIndex = -1;
|
|||
|
for (int i = 0; i < menuItems.Length; i++)
|
|||
|
{
|
|||
|
MarketingActPacketSubTag info = menuItems[i].info as MarketingActPacketSubTag;
|
|||
|
if (info != null)
|
|||
|
{
|
|||
|
if (info.state == 1)
|
|||
|
{
|
|||
|
nextIndex = i;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (nextIndex != -1)
|
|||
|
{
|
|||
|
menuItems[nextIndex].OnPointerClick(null);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
// 由于没有可选择累计充值项,直接关闭
|
|||
|
//DailyRechargeRoot.Instance.Close();
|
|||
|
//menuItems[0].OnPointerClick(null);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void OnMenuItemSelect(UIItemBase selectMenu)
|
|||
|
{
|
|||
|
RechargeMenuItem tempMenu = selectMenu as RechargeMenuItem;
|
|||
|
|
|||
|
if (tempMenu != null)
|
|||
|
{
|
|||
|
UpdataDescImg(tempMenu.index);
|
|||
|
|
|||
|
if (curMenu != null)
|
|||
|
{
|
|||
|
curMenu.UnSelected();
|
|||
|
}
|
|||
|
|
|||
|
curMenu = tempMenu;
|
|||
|
curMenu.Selected();
|
|||
|
|
|||
|
for (int i = 0; i < items.Length; i++)
|
|||
|
{
|
|||
|
if (i < curMenu.info.awardTags[0].awardSubTags.Count)
|
|||
|
{
|
|||
|
items[i].Show(curMenu.info.awardTags[0].awardSubTags[i]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
items[i].gameObject.SetActive(false);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
InitButton(curMenu.info.awardTags[0].state);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void UpdataDescImg(int index)
|
|||
|
{
|
|||
|
if (index < descNumRes.Length)
|
|||
|
{
|
|||
|
descNum.sprite = descNumRes[index];
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void InitButton(int state)
|
|||
|
{
|
|||
|
if (confirmBtn != null)
|
|||
|
{
|
|||
|
confirmBtn.gameObject.SetActive(state == 1 || state == 0);
|
|||
|
}
|
|||
|
|
|||
|
if (hasGetGO != null)
|
|||
|
{
|
|||
|
hasGetGO.SetActive(state == 2);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#region 请求与接收
|
|||
|
|
|||
|
// 请求
|
|||
|
public void AskInfo()
|
|||
|
{
|
|||
|
MarketingActsReq req = new MarketingActsReq();
|
|||
|
req.actType = this._ActID;
|
|||
|
|
|||
|
req.SendMsg();
|
|||
|
}
|
|||
|
|
|||
|
protected override void MarketingActRetInner(MarketingActsRet marketActsRet)
|
|||
|
{
|
|||
|
if (marketActsRet != null)
|
|||
|
{
|
|||
|
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();
|
|||
|
}
|
|||
|
int isShow = 1;
|
|||
|
// 新数据接口
|
|||
|
protected override void MarketingActPageAwardRetDelInner(object packet)
|
|||
|
{
|
|||
|
MarketingActPacketPageRet p = packet as MarketingActPacketPageRet;
|
|||
|
if (p == null)
|
|||
|
return;
|
|||
|
|
|||
|
InitMenuList(p.subTags);
|
|||
|
if (Utils.GetServerDateTime().ToString("HH:mm")== "00:00")
|
|||
|
{
|
|||
|
Debug.LogError("当前时间 "+Utils.GetServerDateTime().ToString("HH:mm"));
|
|||
|
isShow = 1;
|
|||
|
}
|
|||
|
if (isShow == 1)
|
|||
|
{
|
|||
|
menuItems[0].OnPointerClick(null);
|
|||
|
isShow = 0;
|
|||
|
}
|
|||
|
MoveNext();
|
|||
|
}
|
|||
|
protected override void MarketingActPageGetAwardRetInner(object packet)
|
|||
|
{
|
|||
|
MarketingActAwardPageGetAwardRet p = packet as MarketingActAwardPageGetAwardRet;
|
|||
|
if (p == null)
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
// 监听按钮点击,获得按钮上的信息
|
|||
|
public void OnConfirmClick()
|
|||
|
{
|
|||
|
|
|||
|
if (curMenu.info.awardTags[0].state == 0)
|
|||
|
{
|
|||
|
YuanBaoShopLogic.OpenChargePage();
|
|||
|
confirmBtn.gameObject.SetActive(true);
|
|||
|
hasGetGO.gameObject.SetActive(false);
|
|||
|
}
|
|||
|
else if (curMenu.info.awardTags[0].state == 1)
|
|||
|
{
|
|||
|
MarketingActAwardPageGetAward req = new MarketingActAwardPageGetAward();
|
|||
|
req.actID = this._ActID;
|
|||
|
req.tagID = curMenu.info.awardTags[0].subTagID;
|
|||
|
|
|||
|
req.SendMsg();
|
|||
|
confirmBtn.gameObject.SetActive(false);
|
|||
|
hasGetGO.gameObject.SetActive(true);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|