133 lines
3.1 KiB
C#
133 lines
3.1 KiB
C#
// ***********************************************************************
|
|
// Assembly : Game
|
|
// Author : Kimch
|
|
// Created : 2021-06-22
|
|
// Description :
|
|
// Last Modified By :
|
|
// Last Modified On :
|
|
// ***********************************************************************
|
|
// <copyright file= "OfflineWindow.View" company="Kunpo"></copyright>
|
|
// <summary></summary>
|
|
// ***********************************************************************
|
|
namespace G.UI
|
|
{
|
|
using System.Collections.Generic;
|
|
using TMPro;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
partial class OfflineWindow
|
|
{
|
|
#region Field
|
|
|
|
#pragma warning disable CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
|
|
[KUIFlag]
|
|
KUIList __listReward;
|
|
[KUIFlag]
|
|
Button _btnCollect;
|
|
[KUIFlag]
|
|
TextMeshProUGUI _tmpTime;
|
|
|
|
#pragma warning restore CS0649 // 从未对字段赋值,字段将一直保持其默认值 null
|
|
|
|
#endregion
|
|
|
|
#region Method
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
public void InitView()
|
|
{
|
|
SetViewData();
|
|
|
|
__listReward.AddTemplate<PropWidget>(true);
|
|
_btnCollect.onClick.AddListener(this.OnCollectBtnClick);
|
|
}
|
|
|
|
public void RefreshView()
|
|
{
|
|
if (this.data is BattleResult result)
|
|
{
|
|
int count = Mathf.Clamp(result.duration, 1, 12);
|
|
result.coin = result.coin * count;
|
|
|
|
result.ApplyResult2();
|
|
|
|
//_tmpTime.text = $"溢出体力:{result.duration}";
|
|
__listReward.Clear();
|
|
//__listReward.GetItem<PropWidget>().SetItem(Item.Id.kExp, result.exp);
|
|
__listReward.GetItem<PropWidget>().SetItem(Item.Id.kCoin, result.coin);
|
|
|
|
int q3 = 0, q4 = 0, q5 = 0;
|
|
foreach (var equipment in result.equipments)
|
|
{
|
|
var quality = equipment.quality;
|
|
if (quality == 3)
|
|
{
|
|
q3++;
|
|
}
|
|
else if (quality == 4)
|
|
{
|
|
q4++;
|
|
}
|
|
else if (quality == 5)
|
|
{
|
|
q5++;
|
|
}
|
|
}
|
|
|
|
__listReward.GetItem<PropWidget>().SetQualityCount($"随机{Item.GetQualityText(5)}装备", 5, q5);
|
|
__listReward.GetItem<PropWidget>().SetQualityCount($"随机{Item.GetQualityText(4)}装备", 4, q4);
|
|
__listReward.GetItem<PropWidget>().SetQualityCount($"随机{Item.GetQualityText(3)}装备", 3, q3);
|
|
}
|
|
|
|
SoundProxy.PlayFxAsync("Sounds/attack_ui_end.mp3");
|
|
}
|
|
|
|
private void OnCollectBtnClick()
|
|
{
|
|
PostNotification(GlobalDefine.EVENT_GRADE_CHANGED);
|
|
if (this.data is BattleResult result)
|
|
{
|
|
var rewards = F.ListPool<Item.ItemInfo>.Get();
|
|
|
|
//rewards.Add(new Item.ItemInfo
|
|
//{
|
|
// id = Item.Id.kExp,
|
|
// count = result.exp,
|
|
//});
|
|
|
|
rewards.Add(new Item.ItemInfo
|
|
{
|
|
id = Item.Id.kCoin,
|
|
count = result.coin,
|
|
});
|
|
|
|
foreach (var equipment in result.equipments)
|
|
{
|
|
var quality = equipment.quality;
|
|
if (quality == 5 || quality == 4)
|
|
{
|
|
rewards.Add(new Item.ItemInfo
|
|
{
|
|
id = equipment.itemId,
|
|
count = 1,
|
|
});
|
|
}
|
|
}
|
|
RewardWindow.ShowRewards(rewards, result.callback);
|
|
F.ListPool<Item.ItemInfo>.Release(rewards);
|
|
}
|
|
CloseWindow(this);
|
|
SoundProxy.PlayFxAsync(GlobalDefine.BUTTON_CLICK_SOUND);
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
}
|