namespace NeonSprawl.Server.Game.Skills;
/// Configuration for loading authoring content from disk (NEO-34).
public sealed class ContentPathsOptions
{
public const string SectionName = "Content";
///
/// Optional. Absolute path, or path relative to .
/// When unset, the host walks ancestors of for a content/skills directory.
///
public string? SkillsDirectory { get; set; }
///
/// Optional override for skill-def.schema.json.
/// When unset, resolved as {parent of skills directory}/schemas/skill-def.schema.json (same layout as the repo).
///
public string? SkillDefSchemaPath { get; set; }
///
/// Optional. Absolute path, or path relative to .
/// When unset, the host walks ancestors of for a content/mastery directory.
///
public string? MasteryDirectory { get; set; }
///
/// Optional override for mastery-catalog.schema.json.
/// When unset, resolved as {parent of mastery directory}/schemas/mastery-catalog.schema.json.
///
public string? MasteryCatalogSchemaPath { get; set; }
///
/// Optional. Absolute path, or path relative to .
/// When unset, the host walks ancestors of for a content/items directory.
///
public string? ItemsDirectory { get; set; }
///
/// Optional override for item-def.schema.json.
/// When unset, resolved as {parent of items directory}/schemas/item-def.schema.json.
///
public string? ItemDefSchemaPath { get; set; }
///
/// Optional. Absolute path, or path relative to .
/// When unset, the host walks ancestors of for a content/resource-nodes directory.
///
public string? ResourceNodesDirectory { get; set; }
///
/// Optional override for resource-node-def.schema.json.
/// When unset, resolved as {parent of resource-nodes directory}/schemas/resource-node-def.schema.json.
///
public string? ResourceNodeDefSchemaPath { get; set; }
///
/// Optional override for resource-yield-row.schema.json.
/// When unset, resolved as {parent of resource-nodes directory}/schemas/resource-yield-row.schema.json.
///
public string? ResourceYieldRowSchemaPath { get; set; }
///
/// Optional. Absolute path, or path relative to .
/// When unset, the host walks ancestors of for a content/recipes directory.
///
public string? RecipesDirectory { get; set; }
///
/// Optional override for recipe-def.schema.json.
/// When unset, resolved as {parent of recipes directory}/schemas/recipe-def.schema.json.
///
public string? RecipeDefSchemaPath { get; set; }
///
/// Optional override for recipe-io-row.schema.json.
/// When unset, resolved as {parent of recipes directory}/schemas/recipe-io-row.schema.json.
///
public string? RecipeIoRowSchemaPath { get; set; }
///
/// Optional. Absolute path, or path relative to .
/// When unset, the host walks ancestors of for a content/abilities directory.
///
public string? AbilitiesDirectory { get; set; }
///
/// Optional override for ability-def.schema.json.
/// When unset, resolved as {parent of abilities directory}/schemas/ability-def.schema.json.
///
public string? AbilityDefSchemaPath { get; set; }
///
/// Optional. Absolute path, or path relative to .
/// When unset, the host walks ancestors of for a content/npc-behaviors directory.
///
public string? NpcBehaviorsDirectory { get; set; }
///
/// Optional override for npc-behavior-def.schema.json.
/// When unset, resolved as {parent of npc-behaviors directory}/schemas/npc-behavior-def.schema.json.
///
public string? NpcBehaviorDefSchemaPath { get; set; }
///
/// Optional. Absolute path, or path relative to .
/// When unset, the host walks ancestors of for a content/reward-tables directory.
///
public string? RewardTablesDirectory { get; set; }
///
/// Optional override for reward-table.schema.json.
/// When unset, resolved as {parent of reward-tables directory}/schemas/reward-table.schema.json.
///
public string? RewardTableDefSchemaPath { get; set; }
///
/// Optional override for reward-grant-row.schema.json.
/// When unset, resolved as {parent of reward-tables directory}/schemas/reward-grant-row.schema.json.
///
public string? RewardGrantRowSchemaPath { get; set; }
///
/// Optional. Absolute path, or path relative to .
/// When unset, the host walks ancestors of for a content/encounters directory.
///
public string? EncountersDirectory { get; set; }
///
/// Optional override for encounter-def.schema.json.
/// When unset, resolved as {parent of encounters directory}/schemas/encounter-def.schema.json.
///
public string? EncounterDefSchemaPath { get; set; }
///
/// Optional. Absolute path, or path relative to .
/// When unset, the host walks ancestors of for a content/quests directory.
///
public string? QuestsDirectory { get; set; }
///
/// Optional override for quest-def.schema.json.
/// When unset, resolved as {parent of quests directory}/schemas/quest-def.schema.json.
///
public string? QuestDefSchemaPath { get; set; }
///
/// Optional override for quest-step-def.schema.json.
/// When unset, resolved as {parent of quests directory}/schemas/quest-step-def.schema.json.
///
public string? QuestStepDefSchemaPath { get; set; }
///
/// Optional override for quest-objective-def.schema.json.
/// When unset, resolved as {parent of quests directory}/schemas/quest-objective-def.schema.json.
///
public string? QuestObjectiveDefSchemaPath { get; set; }
///
/// Optional. Absolute path, or path relative to .
/// When unset, the host walks ancestors of for a content/factions directory.
///
public string? FactionsDirectory { get; set; }
///
/// Optional override for faction-def.schema.json.
/// When unset, resolved as {parent of factions directory}/schemas/faction-def.schema.json.
///
public string? FactionDefSchemaPath { get; set; }
///
/// Optional. Absolute path, or path relative to .
/// When unset, the host walks ancestors of for a content/contracts directory.
///
public string? ContractsDirectory { get; set; }
///
/// Optional override for contract-template.schema.json.
/// When unset, resolved as {parent of contracts directory}/schemas/contract-template.schema.json.
///
public string? ContractTemplateSchemaPath { get; set; }
}