2025-05-18 01:04:31 +08:00

117 lines
3.6 KiB
C#

// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2020-10-09
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
// <copyright file= "RewardWindow.View" company="Kunpo"></copyright>
// <summary></summary>
// ***********************************************************************
namespace G.UI
{
using UnityEngine;
using UnityEngine.UI;
/// <summary>
///
/// </summary>
partial class RewardWindow
{
#region Field
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
[KUIFlag]
KUIList __listRewards;
[KUIFlag]
Button _btnReceive;
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
#endregion
#region Method
/// <summary>
///
/// </summary>
public void InitView()
{
SetViewData();
__listRewards.AddTemplate<PropWidget>(true);
_btnReceive.onClick.AddListener(this.OnReceiveBtnClick);
}
/// <summary>
///
/// </summary>
public void RefreshView()
{
if (this.data is RewardData rewardData)
{
int count = 12;
__listRewards.Clear();
int q1 = 0, q2 = 0, q3 = 0;
foreach (var item in rewardData.items)
{
var prop = item.propItem;
int quality = prop.quality;
if (quality <= Item.Quality.kBlue && prop.isWeaponOrEquipment)
{
if (quality == 1)
{
q1++;
continue;
}
if (quality == 2)
{
q2++;
continue;
}
if (quality == 3)
{
q3++;
continue;
}
}
if (count-- > 0)
__listRewards.GetItem<PropWidget>().SetItem(item);
}
if (q1 > 0)
__listRewards.GetItem<PropWidget>().SetQualityCount($"随机{Item.GetQualityText(1)}装备", 1, q1);
if (q2 > 0)
__listRewards.GetItem<PropWidget>().SetQualityCount($"随机{Item.GetQualityText(2)}装备", 2, q2);
if (q3 > 0)
__listRewards.GetItem<PropWidget>().SetQualityCount($"随机{Item.GetQualityText(3)}装备", 3, q3);
}
SoundProxy.PlayFxAsync("Sounds/main_reward_btn.mp3");
}
void OnReceiveBtnClick()
{
if (this.data is RewardData rewardData)
{
rewardData.Complete();
foreach (var item in rewardData.items)
{
if (item.id == 3002)
{
var pet = PetProxy.Instance.GetPet(13020);
KUIWindow.OpenWindow<UI.GetPetBox>(pet);
}
}
}
CloseWindow(this);
PostNotification(GlobalDefine.EVENT_WINDOW_CLOSED, "", nameof(RewardWindow));
SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND);
}
#endregion
}
}