优化反射绑定

This commit is contained in:
2026-07-24 14:51:03 +08:00
parent e63f1fb000
commit 39220c761f
9 changed files with 195 additions and 122 deletions
@@ -0,0 +1,36 @@
using System;
namespace XericUI.ReflectionUIGenerator
{
/// <summary>
/// 预制体覆盖特性
/// 覆盖对应 Entry 或普通字段生成 UI 时使用的预制体名称
///
/// 使用示例:
/// [XuiavrgFieldPrefabOverride("CustomSpeedPrefab")] public float speed;
///
/// Manager 在 GenerateUI 阶段会优先使用此名称查找 PropertyGroup
/// </summary>
[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false)]
public class XuiavrgFieldNameAttribute : Attribute, IXuiavrgAttribute
{
/// <summary>覆盖的预制体组名称</summary>
public readonly string PrefabGroupName;
/// <summary>
/// 创建预制体覆盖标记
/// </summary>
/// <param name="prefabGroupName">
/// 目标预制体名称,在 AvrgTypePrefabMappingConfig 中查找匹配
/// </param>
public XuiavrgFieldNameAttribute(string prefabGroupName)
{
PrefabGroupName = prefabGroupName;
}
public void BindMetaData(AvrgMemberMetaData metaData)
{
metaData.PrefabOverrideName = PrefabGroupName;
}
}
}