26 lines
1.1 KiB
C#
26 lines
1.1 KiB
C#
using GameCult.Caching;
|
|
using GameCult.Aetheria.State.Verse;
|
|
using MessagePack;
|
|
|
|
namespace Aetheria.State.Documents;
|
|
|
|
[CultDocument("aetheria.game_session", "aetheria.game_session.v1")]
|
|
[CultGlobal]
|
|
[MessagePackObject]
|
|
public sealed class AetheriaGameSessionState
|
|
{
|
|
public const string TerminusMode = AetheriaGameModes.Terminus;
|
|
public const string StarbridgeMode = AetheriaGameModes.Starbridge;
|
|
public const string ArenaMode = AetheriaGameModes.Arena;
|
|
public const string AetheriaMode = "aetheria";
|
|
|
|
[Key(0)] public string Mode { get; set; } = TerminusMode;
|
|
[Key(1)] public string SessionId { get; set; } = "";
|
|
[Key(2)] public string RunId { get; set; } = "";
|
|
[Key(3)] public string ControlledEntityKey { get; set; } = "";
|
|
[Key(4)] public string EntrySurfaceId { get; set; } = "aetheria.pilot";
|
|
[Key(5)] public string LastStartCommandId { get; set; } = "";
|
|
[Key(6)] public string UpdatedAtUtc { get; set; } = "";
|
|
[Key(7)] public double SimulationRate { get; set; } = 1;
|
|
[Key(8)] public double? EffectiveSimulationRate { get; set; } = 1;
|
|
}
|