diff --git a/Client/Assets/Scripts/Data/DefinePack.cs b/Client/Assets/Scripts/Data/DefinePack.cs
index a97c21f..32b6e85 100644
--- a/Client/Assets/Scripts/Data/DefinePack.cs
+++ b/Client/Assets/Scripts/Data/DefinePack.cs
@@ -343,5 +343,23 @@ namespace Data
// 如果字段的类型直接是基类或其派生类,则返回 true
return fieldType != baseType && baseType.IsAssignableFrom(fieldType);
}
+
+ ///
+ /// 检查字段的类型是否继承自指定的类
+ ///
+ /// 字段信息
+ /// 要检查的基类类型
+ /// 如果字段的类型是基类或其派生类,则返回 true
+ public static bool IsFieldTypeInheritedFrom(FieldInfo field, Type baseType)
+ {
+ // 获取字段的类型
+ var fieldType = field.FieldType;
+ // 如果字段的类型为 null 或不是基类的派生类,则返回 false
+ if (!baseType.IsAssignableFrom(fieldType))
+ return false;
+
+ // 如果字段的类型直接是基类或其派生类,则返回 true
+ return fieldType != baseType && baseType.IsAssignableFrom(fieldType);
+ }
}
}
\ No newline at end of file