120 lines
2.7 KiB
C#
Raw Normal View History

2025-05-18 01:04:31 +08:00
// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2020-10-09
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
// <copyright file= "AdRewardBox.View" company="Kunpo"></copyright>
// <summary></summary>
// ***********************************************************************
namespace G.UI
{
using TMPro;
using UnityEngine;
using UnityEngine.UI;
/// <summary>
///
/// </summary>
partial class AdRewardBox
{
#region Auto Generate
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
[KUIFlag]
TextMeshProUGUI _tmpTitle;
[KUIFlag]
TextMeshProUGUI _tmpContent;
[KUIFlag]
KUIList __listRewards;
[KUIFlag]
Button _btnGet;
[KUIFlag]
Button __btnAdGet;
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
#endregion
#region Field
SmartCostWidget _smartCostWidget;
#endregion
#region Method
/// <summary>
///
/// </summary>
public void InitView()
{
SetViewData();
__listRewards.AddTemplate<PropWidget>(true);
_btnGet.onClick.AddListener(this.OnGetBtnClick);
__btnAdGet.onClick.AddListener(this.OnAdGetBtnClick);
_smartCostWidget = __btnAdGet.gameObject.AddComponent<SmartCostWidget>();
}
/// <summary>
///
/// </summary>
public void RefreshView()
{
__btnAdGet.gameObject.SetActive(true);
_smartCostWidget.SetAdTicket(MoneyProxy.Instance.GetMoney(Item.Id.kAdTicket));
if (this.data is RewardWindow.RewardData info)
{
__listRewards.Clear();
foreach (var item in info.items)
{
__listRewards.GetItem<PropWidget>().SetItem(item);
}
}
SoundProxy.PlayFxAsync("Sounds/main_reward_btn.mp3");
}
void OnGetBtnClick()
{
if (this.data is RewardWindow.RewardData info)
{
RewardProxy.Instance.GetRewardsWithUI(info.items, info.callback);
}
CloseWindow(this);
SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND);
}
void OnAdGetBtnClick()
{
if (this.data is RewardWindow.RewardData info)
{
AdProxy.Instance.PlayAdChange("estate", "ads_affair_reward",
(error, message) =>
{
if (error == 0)
{
for (int i = 0; i < info.items.Count; i++)
{
var reward = info.items[i];
reward.count *= 2;
info.items[i] = reward;
}
RewardProxy.Instance.GetRewardsWithUI(info.items, info.callback);
}
else
{
info.callback?.Invoke(error, message);
}
});
}
CloseWindow(this);
}
#endregion
}
}