supervisor-simulator/scripts/Core/ContentResources.cs
2026-01-11 23:57:24 +08:00

40 lines
1.0 KiB
C#

using System;
using System.Collections.Generic;
namespace Core;
/// <summary>
/// 资源定义接口(用于 .tres/.res 的内容加载)
/// 设计说明:
/// 1) 资源负责“序列化友好”,模型负责“运行时友好”。
/// 2) 通过 ToDefinition 映射到纯数据模型,保持解耦。
/// 注意事项:
/// - 资源字段尽量使用 Godot 可序列化的基础类型与 Array。
/// 未来扩展:
/// - 可加入验证器,确保 Id/路径等关键字段符合规范。
/// </summary>
public interface IContentResource
{
/// <summary>
/// 获取定义类型
/// </summary>
/// <returns>类型</returns>
Type GetDefinitionType();
/// <summary>
/// 转换为定义对象
/// </summary>
/// <returns>定义对象</returns>
object ToDefinition();
}
/// <summary>
/// 资源集合接口
/// </summary>
public interface IContentResourceCollection
{
/// <summary>
/// 获取资源项集合
/// </summary>
/// <returns>资源项集合</returns>
IEnumerable<IContentResource> GetItems();
}