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();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|