GeWuYou 06d048f38a docs(config): 添加游戏内容配置系统文档与验证工具
- 新增游戏内容配置系统完整文档,包含 YAML 配置、JSON Schema 结构描述
- 添加运行时只读查询、Source Generator 类型生成等功能说明
- 提供推荐目录结构、Schema 示例和 YAML 示例配置模板
- 添加 VS Code 插件工具支持配置浏览、校验和表单编辑功能
- 实现跨表引用校验、热重载及批量编辑等高级特性文档
- 集成 Architecture 模块化接入和运行时校验行为说明
- 添加配置系统限制说明与独立工具评估结论
2026-04-10 09:38:51 +08:00

133 lines
4.6 KiB
Plaintext

// <auto-generated />
#nullable enable
namespace GFramework.Game.Config.Generated;
/// <summary>
/// Auto-generated config type for schema file 'monster.schema.json'.
/// Represents one monster entry generated from schema metadata.
/// </summary>
/// <remarks>
/// Constraints: minProperties = 4, maxProperties = 8.
/// </remarks>
public sealed partial class MonsterConfig
{
/// <summary>
/// Unique monster identifier.
/// </summary>
/// <remarks>
/// Schema property path: 'id'.
/// </remarks>
public int Id { get; set; }
/// <summary>
/// Localized monster display name.
/// </summary>
/// <remarks>
/// Schema property path: 'name'.
/// Display title: 'Monster Name'.
/// Allowed values: Slime, Goblin.
/// Constraints: minLength = 3, maxLength = 16, pattern = '^[A-Z][a-z]+$'.
/// Generated default initializer: = "Slime";
/// </remarks>
public string Name { get; set; } = "Slime";
/// <summary>
/// Gets or sets the value mapped from schema property path 'hp'.
/// </summary>
/// <remarks>
/// Schema property path: 'hp'.
/// Constraints: minimum = 1, exclusiveMinimum = 0, maximum = 999, exclusiveMaximum = 1000, multipleOf = 5.
/// Generated default initializer: = 10;
/// </remarks>
public int? Hp { get; set; } = 10;
/// <summary>
/// Referenced drop ids.
/// </summary>
/// <remarks>
/// Schema property path: 'dropItems'.
/// Allowed values: potion, slime_gel.
/// Constraints: minItems = 1, maxItems = 3, uniqueItems = true.
/// References config table: 'item'.
/// Item constraints: minLength = 3, maxLength = 12.
/// Generated default initializer: = new string[] { "potion" };
/// </remarks>
public global::System.Collections.Generic.IReadOnlyList<string> DropItems { get; set; } = new string[] { "potion" };
/// <summary>
/// Reward payload.
/// </summary>
/// <remarks>
/// Schema property path: 'reward'.
/// Generated default initializer: = new();
/// </remarks>
public RewardConfig Reward { get; set; } = new();
/// <summary>
/// Encounter phases.
/// </summary>
/// <remarks>
/// Schema property path: 'phases'.
/// Generated default initializer: = global::System.Array.Empty&lt;PhasesItemConfig&gt;();
/// </remarks>
public global::System.Collections.Generic.IReadOnlyList<PhasesItemConfig> Phases { get; set; } = global::System.Array.Empty<PhasesItemConfig>();
/// <summary>
/// Auto-generated nested config type for schema property path 'reward'.
/// Reward payload.
/// </summary>
/// <remarks>
/// Constraints: minProperties = 2, maxProperties = 2.
/// </remarks>
public sealed partial class RewardConfig
{
/// <summary>
/// Gets or sets the value mapped from schema property path 'reward.gold'.
/// </summary>
/// <remarks>
/// Schema property path: 'reward.gold'.
/// Constraints: minimum = 0.
/// Generated default initializer: = 10;
/// </remarks>
public int Gold { get; set; } = 10;
/// <summary>
/// Gets or sets the value mapped from schema property path 'reward.currency'.
/// </summary>
/// <remarks>
/// Schema property path: 'reward.currency'.
/// Allowed values: coin, gem.
/// Generated default initializer: = string.Empty;
/// </remarks>
public string Currency { get; set; } = string.Empty;
}
/// <summary>
/// Auto-generated nested config type for schema property path 'phases[]'.
/// This nested type is generated so object-valued schema fields remain strongly typed in consumer code.
/// </summary>
public sealed partial class PhasesItemConfig
{
/// <summary>
/// Gets or sets the value mapped from schema property path 'phases[].wave'.
/// </summary>
/// <remarks>
/// Schema property path: 'phases[].wave'.
/// </remarks>
public int Wave { get; set; }
/// <summary>
/// Monster reference id.
/// </summary>
/// <remarks>
/// Schema property path: 'phases[].monsterId'.
/// Constraints: minLength = 2, maxLength = 32.
/// References config table: 'monster'.
/// Generated default initializer: = string.Empty;
/// </remarks>
public string MonsterId { get; set; } = string.Empty;
}
}