// *********************************************************************** // 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 } }