115 lines
2.4 KiB
C#
Raw Normal View History

2025-05-18 01:04:31 +08:00
// ***********************************************************************
// Assembly : Unity
// Author : Kimch
// Created : 2017-11-11
//
// Last Modified By : Kimch
// Last Modified On :
// ***********************************************************************
// <copyright file= "QuickBox" company=""></copyright>
// <summary></summary>
// ***********************************************************************
using System.Collections.Generic;
namespace G.UI
{
public partial class QuickBox : KUIWindow
{
#region Static API
public static void ShowEquipment(EntityItemEquipment equipment)
{
if (_Instance == null)
{
OpenWindow<QuickBox>();
}
if (PlayerProxy.Instance.IsBetterEquipment(equipment))
{
var info = new TemplateInfo
{
type = 0,
equipment = equipment,
};
_Instance.AddInfo(info);
}
}
public static void Clear()
{
if (_Instance != null)
{
_Instance.ClearModel();
_Instance.ClearView();
}
CloseWindow<EquipmentDetailBox>();
}
#endregion
#region Model
private class TemplateInfo
{
public int type;
public EntityItemEquipment equipment;
#pragma warning disable CS0649 // 从未对字段“QuickBox.TemplateInfo.quality”赋值字段将一直保持其默认值 0
public int quality;
#pragma warning restore CS0649 // 从未对字段“QuickBox.TemplateInfo.quality”赋值字段将一直保持其默认值 0
#pragma warning disable CS0649 // 从未对字段“QuickBox.TemplateInfo.content”赋值字段将一直保持其默认值 null
public string content;
#pragma warning restore CS0649 // 从未对字段“QuickBox.TemplateInfo.content”赋值字段将一直保持其默认值 null
}
private readonly Queue<TemplateInfo> _infoQueue = new Queue<TemplateInfo>();
private void AddInfo(TemplateInfo info)
{
if (_infoQueue.Count >= 2)
_infoQueue.Dequeue();
_infoQueue.Enqueue(info);
ShowTemplate();
}
private void RefreshModel()
{
}
private void ClearModel()
{
_infoQueue.Clear();
}
#endregion
#region Constructor
private static QuickBox _Instance;
public QuickBox()
: base(UILayer.kFloat, UIMode.kNone)
{
uiPath = "ui_w_equipment_quick";
_Instance = this;
}
#endregion
#region Method
public override void Awake()
{
InitView();
}
public override void OnEnable()
{
RefreshModel();
RefreshView();
}
#endregion
}
}