104 lines
4.9 KiB
C#
104 lines
4.9 KiB
C#
namespace NeonSprawl.Server.Game.Skills;
|
|
|
|
/// <summary>Configuration for loading authoring content from disk (NEO-34).</summary>
|
|
public sealed class ContentPathsOptions
|
|
{
|
|
public const string SectionName = "Content";
|
|
|
|
/// <summary>
|
|
/// Optional. Absolute path, or path relative to <see cref="Microsoft.Extensions.Hosting.IHostEnvironment.ContentRootPath"/>.
|
|
/// When unset, the host walks ancestors of <see cref="AppContext.BaseDirectory"/> for a <c>content/skills</c> directory.
|
|
/// </summary>
|
|
public string? SkillsDirectory { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional override for <c>skill-def.schema.json</c>.
|
|
/// When unset, resolved as <c>{parent of skills directory}/schemas/skill-def.schema.json</c> (same layout as the repo).
|
|
/// </summary>
|
|
public string? SkillDefSchemaPath { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional. Absolute path, or path relative to <see cref="Microsoft.Extensions.Hosting.IHostEnvironment.ContentRootPath"/>.
|
|
/// When unset, the host walks ancestors of <see cref="AppContext.BaseDirectory"/> for a <c>content/mastery</c> directory.
|
|
/// </summary>
|
|
public string? MasteryDirectory { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional override for <c>mastery-catalog.schema.json</c>.
|
|
/// When unset, resolved as <c>{parent of mastery directory}/schemas/mastery-catalog.schema.json</c>.
|
|
/// </summary>
|
|
public string? MasteryCatalogSchemaPath { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional. Absolute path, or path relative to <see cref="Microsoft.Extensions.Hosting.IHostEnvironment.ContentRootPath"/>.
|
|
/// When unset, the host walks ancestors of <see cref="AppContext.BaseDirectory"/> for a <c>content/items</c> directory.
|
|
/// </summary>
|
|
public string? ItemsDirectory { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional override for <c>item-def.schema.json</c>.
|
|
/// When unset, resolved as <c>{parent of items directory}/schemas/item-def.schema.json</c>.
|
|
/// </summary>
|
|
public string? ItemDefSchemaPath { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional. Absolute path, or path relative to <see cref="Microsoft.Extensions.Hosting.IHostEnvironment.ContentRootPath"/>.
|
|
/// When unset, the host walks ancestors of <see cref="AppContext.BaseDirectory"/> for a <c>content/resource-nodes</c> directory.
|
|
/// </summary>
|
|
public string? ResourceNodesDirectory { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional override for <c>resource-node-def.schema.json</c>.
|
|
/// When unset, resolved as <c>{parent of resource-nodes directory}/schemas/resource-node-def.schema.json</c>.
|
|
/// </summary>
|
|
public string? ResourceNodeDefSchemaPath { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional override for <c>resource-yield-row.schema.json</c>.
|
|
/// When unset, resolved as <c>{parent of resource-nodes directory}/schemas/resource-yield-row.schema.json</c>.
|
|
/// </summary>
|
|
public string? ResourceYieldRowSchemaPath { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional. Absolute path, or path relative to <see cref="Microsoft.Extensions.Hosting.IHostEnvironment.ContentRootPath"/>.
|
|
/// When unset, the host walks ancestors of <see cref="AppContext.BaseDirectory"/> for a <c>content/recipes</c> directory.
|
|
/// </summary>
|
|
public string? RecipesDirectory { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional override for <c>recipe-def.schema.json</c>.
|
|
/// When unset, resolved as <c>{parent of recipes directory}/schemas/recipe-def.schema.json</c>.
|
|
/// </summary>
|
|
public string? RecipeDefSchemaPath { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional override for <c>recipe-io-row.schema.json</c>.
|
|
/// When unset, resolved as <c>{parent of recipes directory}/schemas/recipe-io-row.schema.json</c>.
|
|
/// </summary>
|
|
public string? RecipeIoRowSchemaPath { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional. Absolute path, or path relative to <see cref="Microsoft.Extensions.Hosting.IHostEnvironment.ContentRootPath"/>.
|
|
/// When unset, the host walks ancestors of <see cref="AppContext.BaseDirectory"/> for a <c>content/abilities</c> directory.
|
|
/// </summary>
|
|
public string? AbilitiesDirectory { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional override for <c>ability-def.schema.json</c>.
|
|
/// When unset, resolved as <c>{parent of abilities directory}/schemas/ability-def.schema.json</c>.
|
|
/// </summary>
|
|
public string? AbilityDefSchemaPath { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional. Absolute path, or path relative to <see cref="Microsoft.Extensions.Hosting.IHostEnvironment.ContentRootPath"/>.
|
|
/// When unset, the host walks ancestors of <see cref="AppContext.BaseDirectory"/> for a <c>content/npc-behaviors</c> directory.
|
|
/// </summary>
|
|
public string? NpcBehaviorsDirectory { get; set; }
|
|
|
|
/// <summary>
|
|
/// Optional override for <c>npc-behavior-def.schema.json</c>.
|
|
/// When unset, resolved as <c>{parent of npc-behaviors directory}/schemas/npc-behavior-def.schema.json</c>.
|
|
/// </summary>
|
|
public string? NpcBehaviorDefSchemaPath { get; set; }
|
|
}
|