//
#nullable enable
namespace GFramework.Game.Config.Generated;
///
/// Auto-generated config type for schema file 'monster.schema.json'.
/// Represents one monster entry generated from schema metadata.
///
public sealed partial class MonsterConfig
{
///
/// Unique monster identifier.
///
///
/// Schema property path: 'id'.
///
public int Id { get; set; }
///
/// Localized monster display name.
///
///
/// Schema property path: 'name'.
/// Display title: 'Monster Name'.
/// Allowed values: Slime, Goblin.
/// Generated default initializer: = "Slime";
///
public string Name { get; set; } = "Slime";
///
/// Gets or sets the value mapped from schema property path 'hp'.
///
///
/// Schema property path: 'hp'.
/// Generated default initializer: = 10;
///
public int? Hp { get; set; } = 10;
///
/// Referenced drop ids.
///
///
/// Schema property path: 'dropItems'.
/// Allowed values: potion, slime_gel.
/// References config table: 'item'.
/// Generated default initializer: = new string[] { "potion" };
///
public global::System.Collections.Generic.IReadOnlyList DropItems { get; set; } = new string[] { "potion" };
///
/// Reward payload.
///
///
/// Schema property path: 'reward'.
/// Generated default initializer: = new();
///
public RewardConfig Reward { get; set; } = new();
///
/// Encounter phases.
///
///
/// Schema property path: 'phases'.
/// Generated default initializer: = global::System.Array.Empty<PhasesItemConfig>();
///
public global::System.Collections.Generic.IReadOnlyList Phases { get; set; } = global::System.Array.Empty();
///
/// Auto-generated nested config type for schema property path 'reward'.
/// Reward payload.
///
public sealed partial class RewardConfig
{
///
/// Gets or sets the value mapped from schema property path 'reward.gold'.
///
///
/// Schema property path: 'reward.gold'.
/// Generated default initializer: = 10;
///
public int Gold { get; set; } = 10;
///
/// Gets or sets the value mapped from schema property path 'reward.currency'.
///
///
/// Schema property path: 'reward.currency'.
/// Allowed values: coin, gem.
/// Generated default initializer: = string.Empty;
///
public string Currency { get; set; } = string.Empty;
}
///
/// 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.
///
public sealed partial class PhasesItemConfig
{
///
/// Gets or sets the value mapped from schema property path 'phases[].wave'.
///
///
/// Schema property path: 'phases[].wave'.
///
public int Wave { get; set; }
///
/// Monster reference id.
///
///
/// Schema property path: 'phases[].monsterId'.
/// Generated default initializer: = string.Empty;
///
public string MonsterId { get; set; } = string.Empty;
}
}