144 lines
4.2 KiB
C#
144 lines
4.2 KiB
C#
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();
|
||
}
|
||
}
|
||
}
|