// ***********************************************************************
// Assembly : Game
// Author : Kimch
// Created : 2020-10-09
// Description :
// Last Modified By :
// Last Modified On :
// ***********************************************************************
//
//
// ***********************************************************************
using System.Collections.Generic;
namespace G.UI
{
///
/// 通用领取奖励界面
///
public partial class RewardWindow : KUIWindow
{
///
///
///
public class RewardData
{
public readonly List items = new List(16);
public Callback2 callback;
public int maxCount = 12;
public bool eqFilter = true;
///
/// 完成
///
public void Complete()
{
callback?.Invoke(0, null);
}
///
///
///
public void Clear()
{
items.Clear();
}
}
private static RewardData _Default = new RewardData();
#region Constructor
public RewardWindow()
: base(UILayer.kPopup, UIMode.kNone)
{
uiPath = "ui_w_reward";
}
#endregion
#region Method
///
///
///
///
///
public static void ShowReward(Item.ItemInfo itemInfo, Callback2 callback)
{
_Default.Clear();
_Default.items.Add(itemInfo);
_Default.callback = callback;
OpenWindow(_Default);
}
///
/// 可以处理堆叠
///
///
///
public static void ShowRewards(IList itemInfos, Callback2 callback)
{
_Default.Clear();
_Default.callback = callback;
Item.ItemInfo.Combine(itemInfos, _Default.items);
OpenWindow(_Default);
}
public static void ShowRewards(IList itemInfos, bool combin, Callback2 callback)
{
_Default.Clear();
_Default.callback = callback;
if (combin)
Item.ItemInfo.Combine(itemInfos, _Default.items);
else
_Default.items.AddRange(itemInfos);
OpenWindow(_Default);
}
public static void ShowBox(Item.ItemInfo itemInfo, Callback2 callback)
{
_Default.Clear();
_Default.items.Add(itemInfo);
_Default.callback = callback;
OpenWindow(_Default);
}
public static void ShowBoxs(IList itemInfos, Callback2 callback)
{
_Default.Clear();
_Default.callback = callback;
for (int i = 0; i < itemInfos.Count; i++)
{
_Default.items.Add(itemInfos[i]);
}
OpenWindow(_Default);
}
#endregion
#region Unity
///
///
///
public override void Awake()
{
InitView();
}
///
///
///
public override void OnEnable()
{
RefreshView();
}
#endregion
}
}