Files
JJBB/Assets/Project/Script/GUI/Recharge/DailyFirstRecharge.cs

144 lines
4.2 KiB
C#
Raw Normal View History

2024-08-23 15:49:34 +08:00
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();
}
}
}