- 规范 UI 设计成为:

- UIForm 负责展示
    - Controller 负责控制
    - UseCase 负责业务逻辑
    - RawData 负责提供原始数据
    - Context 负责为 UIForm 提供数据
- 添加和补充一系列 UI 功能
This commit is contained in:
SepComet
2026-02-16 19:03:09 +08:00
parent d650dd63e7
commit 85b0205c73
251 changed files with 12705 additions and 5220 deletions
@@ -1,20 +1,44 @@
using Components;
using DataTable;
using Definition.Enum;
namespace Definition.DataStruct
{
public class PropItem
{
private DRProp _prop;
private readonly StatModifier[] _modifiers;
public string Title { get; private set; }
public string IconAssetName { get; private set; }
public ItemRarity Rarity { get; private set; }
public StatModifier[] Modifiers => _modifiers;
public PropItem(DRProp prop)
{
_prop = prop;
if (prop == null) return;
_modifiers = prop.Modifiers;
Title = prop.Title;
Rarity = prop.Rarity;
IconAssetName = prop.IconAssetName;
}
public PropItem(StatModifier[] modifiers)
{
_modifiers = modifiers;
}
public PropItem(StatModifier[] modifiers, ItemRarity rarity, string title, string iconAssetName)
{
_modifiers = modifiers;
Title = title;
Rarity = rarity;
IconAssetName = iconAssetName;
}
public void OnAttach(StatComponent statComponent)
{
foreach (var modifier in _prop.Modifiers)
if (_modifiers == null || statComponent == null) return;
foreach (var modifier in _modifiers)
{
statComponent.AddModifier(modifier);
}
@@ -22,7 +46,8 @@ namespace Definition.DataStruct
public void OnDetach(StatComponent statComponent)
{
foreach (var modifier in _prop.Modifiers)
if (_modifiers == null || statComponent == null) return;
foreach (var modifier in _modifiers)
{
statComponent.RemoveModifier(modifier);
}
@@ -0,0 +1,12 @@
namespace Definition.Enum
{
public enum ItemRarity
{
None,
White = 1,
Green = 2,
Blue,
Purple,
Red
}
}
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: bb7ab0222a370b649956dacb56a122fc
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
@@ -12,7 +12,7 @@ namespace Definition.Enum
/// </summary>
public enum UIFormType : byte
{
Undefined = 0,
TUIForm = 0,
/// <summary>
/// 弹出框。
@@ -58,5 +58,10 @@ namespace Definition.Enum
/// 升级选择。
/// </summary>
LevelUpForm = 204,
/// <summary>
/// 物品信息展示页
/// </summary>
DisplayItemInfoForm = 205,
}
}