// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2022-01-11
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
//
//
// ***********************************************************************
namespace G.UI
{
using TMPro;
using UnityEngine;
using UnityEngine.UI;
///
///
///
partial class FirstPayBox
{
class PayCellWidget : KUIWidget
{
[KUIFlag]
Button _btnBuy;
[KUIFlag]
TextMeshProUGUI _tmpBuy;
[KUIFlag]
GameObject _imgAd;
[KUIFlag]
KUIImage _imgPrivilege;
[KUIFlag]
Image _imgAdTicket;
[KUIFlag]
TextMeshProUGUI _tmpAdTicketCount;
public override void Refresh()
{
if (this.data is ItemActivityParent activity)
{
if (FirstPayProxy.Instance.IsActivation(activity))
{
gameObject.SetActive(true);
if (!KPlatform.Instance.QueryPay())
{
if (activity.id == 2)
{
gameObject.SetActive(false);
}
}
if (activity.type == 1)
{
var mission = MissionProxy.Instance.GetMission(activity.activationMission);
if (_tmpBuy)
{
if (mission.isRewarded)
{
_btnBuy.interactable = false;
_tmpBuy.text = "已领取";
if (_imgAd)
_imgAd.SetActive(false);
}
else if (mission.isCompleted)
{
_btnBuy.interactable = true;
_tmpBuy.text = "领取";
if (_imgAd)
_imgAd.SetActive(false);
}
else
{
_btnBuy.interactable = true;
_tmpBuy.text = "前往";
if (_imgAd)
_imgAd.SetActive(true);
}
}
if (_imgPrivilege)
{
if (!mission.isCompleted)
{
var card = RmbShopProxy.Instance.IsActivitionCard();
var adTickets = MoneyProxy.Instance.GetMoney(Item.Id.kAdTicket);
if (card ==3)
{
_imgPrivilege.gameObject.SetActive(true);
_imgPrivilege.ShowSprite(1);
_imgAdTicket.gameObject.SetActive(false);
_tmpAdTicketCount.gameObject.SetActive(false);
}
else if (card == 4)
{
_imgPrivilege.gameObject.SetActive(true);
_imgPrivilege.ShowSprite(0);
_imgAdTicket.gameObject.SetActive(false);
_tmpAdTicketCount.gameObject.SetActive(false);
}
else if (adTickets > 0)
{
_imgAdTicket.gameObject.SetActive(true);
_tmpAdTicketCount.gameObject.SetActive(true);
_tmpAdTicketCount.text = "x" + adTickets.ToString();
_imgPrivilege.gameObject.SetActive(false);
}
else
{
_imgPrivilege.gameObject.SetActive(false);
_imgAdTicket.gameObject.SetActive(false);
_tmpAdTicketCount.gameObject.SetActive(false);
}
}
else
{
_imgPrivilege.gameObject.SetActive(false);
_imgAdTicket.gameObject.SetActive(false);
_tmpAdTicketCount.gameObject.SetActive(false);
}
}
}
}
else
{
gameObject.SetActive(false);
}
}
}
System.Collections.IEnumerator DelayRefresh()
{
yield return null;
yield return null;
yield return null;
Refresh();
}
void OnBuyBtnClick()
{
if (this.data is ItemActivityParent activity)
{
if (activity.type == 1)
{
var mission = MissionProxy.Instance.GetMission(activity.activationMission);
if (mission.isRewarded)
{
}
else if (mission.isCompleted)
{
MissionProxy.Instance.GainReward(mission.id, (error, message) =>
{
if (error == 0)
Refresh();
});
}
else
{
if (mission.id == 2206)
{
AdProxy.Instance.PlayAd("activity", "first_ad", (error, message) =>
{
if (error == 0)
StartCoroutine(DelayRefresh());
});
}
else if (mission.id == 2207)
{
if (KPlatform.Instance.QueryPay())
{
CloseWindow();
OpenWindow();
}
else
ToastBox.ShowText(mission.description);
}
}
}
else if (activity.type == 2)
{
if (activity.id == 1)
{
if (WomenActivity.Instance.isStartWomanActivity)
{
OpenWindow();
CloseWindow();
}
else
{
ToastBox.ShowText("活动暂未开启");
}
}
if (activity.id == 4)
{
if (QingMingActivity.Instance.isStartActivity)
{
OpenWindow();
CloseWindow();
}
else
{
ToastBox.ShowText("活动暂未开启");
}
}
}
else
{
}
}
}
private void Awake()
{
SetViewData();
if(_btnBuy)
_btnBuy.onClick.AddListener(this.OnBuyBtnClick);
}
}
#region Auto Generate
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
[KUIFlag]
Button _btnBack;
[KUIFlag]
Button _btnClose;
[KUIFlag]
KUIList __listActivties;
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
#endregion
#region Field
PayCellWidget[] _payCellWidgets;
#endregion
#region Method
///
///
///
public void InitView()
{
SetViewData();
_btnBack.onClick.AddListener(this.OnCloseBtnClick);
_btnClose.onClick.AddListener(this.OnCloseBtnClick);
//var activties = ItemProxy.Instance.GetStaticItems();
//_payCellWidgets = new PayCellWidget[activties.Count];
var tr = __listActivties.transform;
_payCellWidgets = new PayCellWidget[tr.childCount];
for (int i = 0; i < tr.childCount; i++)
{
var activtie = ItemProxy.Instance.GetStaticItem(int.Parse(tr.GetChild(i).name));
var child = tr.GetChild(i);
if (FirstPayProxy.Instance.IsActivation(activtie))
{
child.gameObject.SetActive(true);
}
else
{
child.gameObject.SetActive(false);
}
_payCellWidgets[i] = child.gameObject.AddComponent();
_payCellWidgets[i].SetData(activtie);
}
}
///
///
///
public void RefreshView()
{
foreach (var item in _payCellWidgets)
{
item.Refresh();
}
}
///
///
///
public void UpdateView()
{
}
void OnCloseBtnClick()
{
CloseWindow(this);
}
#endregion
}
}