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

144 lines
4.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using Games.Item;
using System.Collections.Generic;
// 每日首冲
// 所有活动界面都要统一处理成请求活动ID列表 -> 通过具体活动ID再请求数据
// 每日首冲界面上没有活动列表位置(仅一页),所以特殊处理
public class DailyFirstRecharge : MarketingUIBaseCS {
private UIBackRayBehind backUI; // 背面点击物体
private Button backBtn; // 关闭按钮
private Button confirmBtn; // 领取按钮
private Transform effectPoint; // 特效点
public CommonItemRecharge[] items; // 物品列表
private MarketingActAwardTag tagInfo; // 当前显示的信息
void Awake()
{
backUI = transform.Find("BehindImage").GetComponent<UIBackRayBehind>();
backBtn = transform.Find("Btn_Close").GetComponent<Button>();
confirmBtn = transform.Find("Btn_Confirm").GetComponent<Button>();
//effectPoint = transform.Find("BG");
// 添加按钮监听
backUI._BackClick.AddListener(CloseWindow);
backBtn.onClick.AddListener(CloseWindow);
confirmBtn.onClick.AddListener(OnConfirmClick);
//LoadAssetBundle.Instance.LoadGameObject(LoadAssetBundle.BUNDLE_PATH_EFFECT, "TX_souchon", AfterLoadEffect, null);
}
void OnEnable()
{
AsKInfo();
}
public void CloseWindow()
{
gameObject.SetActive(false);
//DailyRechargeRoot.Instance.Close();
}
//private void AfterLoadEffect(string modelName, GameObject resObj, Hashtable hashParam)
//{
// if (resObj != null)
// {
// GameObject effect = Instantiate<GameObject>(resObj);
// //effect.name = "effect";
// effect.transform.parent = effectPoint.transform;
// effect.transform.localPosition = Vector3.zero;
// }
// else
// {
// LogModule.ErrorLog("Can't get effect \"TX_souchon\" !!!");
// }
//}
#region
public void AsKInfo()
{
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)
return;
tagInfo = p.awardTags[0];
InitItems(p.awardTags[0].awardItems);
SetBtnState(p.awardTags[0].state);
}
protected override void MarketingActPageGetAwardRetInner(object packet)
{
MarketingActAwardPageGetAwardRet p = packet as MarketingActAwardPageGetAwardRet;
if (p == null)
return;
if (p.btnState == 2)
{
List<MarketingActAwardItem> awardItems = new List<MarketingActAwardItem>();
foreach (CommonItemRecharge item in this.items)
{
awardItems.Add(item.gameItem);
}
MarketingActsRoot.Instance().ShowGetTips(awardItems);
CloseWindow();
}
}
//////////
#endregion
public void InitItems(List<MarketingActAwardItem> items)
{
for(int i = 0; i < this.items.Length; i++)
{
if(i < items.Count)
{
this.items[i].Show(items[i]);
}
else
{
this.items[i].gameObject.SetActive(false);
}
}
}
public void SetBtnState(int state)
{
if(confirmBtn != null)
{
confirmBtn.interactable = (state == 0 || state == 1);
}
}
// 每日首充只有一个页面特殊处理直接用tagID = 0;
public void OnConfirmClick()
{
if(tagInfo.state == 0)
{
YuanBaoShopLogic.OpenChargePage();
}
else if(tagInfo.state == 1)
{
MarketingActAwardPageGetAward req = new MarketingActAwardPageGetAward();
req.actID = tagInfo.actID;
req.tagID = tagInfo.tagID;
req.SendMsg();
}
}
}