39 lines
1.8 KiB
C#
39 lines
1.8 KiB
C#
namespace NeonSprawl.Server.Game.PositionState;
|
|
|
|
/// <summary>
|
|
/// Binds the <c>Game</c> configuration section (dev player seed for local authority).
|
|
/// </summary>
|
|
public sealed class GamePositionOptions
|
|
{
|
|
public const string SectionName = "Game";
|
|
|
|
/// <summary>Logical player id seeded in the in-memory store (URL-safe string).</summary>
|
|
public string DevPlayerId { get; set; } = "dev-local-1";
|
|
|
|
/// <summary>When true, maps <c>POST …/__dev/mastery-fixture</c> for Bruno/manual QA state setup (also enabled in Development).</summary>
|
|
public bool EnableMasteryFixtureApi { get; set; }
|
|
|
|
/// <summary>When true, maps <c>POST /game/__dev/combat-targets-fixture</c> to reset prototype dummy HP (also enabled in Development/Testing).</summary>
|
|
public bool EnableCombatTargetFixtureApi { get; set; }
|
|
|
|
/// <summary>When true, maps <c>POST …/__dev/quest-fixture</c> for Bruno/manual QA quest progress setup (also enabled in Development).</summary>
|
|
public bool EnableQuestFixtureApi { get; set; }
|
|
|
|
/// <summary>When true, maps <c>POST /game/__dev/resource-node-fixture</c> to reset prototype node gathers (also enabled in Development/Testing).</summary>
|
|
public bool EnableResourceNodeFixtureApi { get; set; }
|
|
|
|
/// <summary>World position for the dev player at process start.</summary>
|
|
public DefaultPositionOptions DefaultPosition { get; set; } = new();
|
|
|
|
/// <summary>NS-19: per-command step limits and optional district bounds.</summary>
|
|
public MovementValidationOptions MovementValidation { get; set; } = new();
|
|
}
|
|
|
|
/// <summary>Default spawn coordinates for the configured dev player.</summary>
|
|
public sealed class DefaultPositionOptions
|
|
{
|
|
public double X { get; set; }
|
|
public double Y { get; set; }
|
|
public double Z { get; set; }
|
|
}
|