Files
space-game/apps/backend/Contracts/WorldContracts.Factions.cs

43 lines
1.1 KiB
C#

namespace SpaceGame.Simulation.Api.Contracts;
public sealed record FactionGoapStateSnapshot(
int MilitaryShipCount,
int MinerShipCount,
int TransportShipCount,
int ConstructorShipCount,
int ControlledSystemCount,
int TargetSystemCount,
bool HasShipFactory,
float OreStockpile,
float RefinedMetalsStockpile);
public sealed record FactionGoapPrioritySnapshot(string GoalName, float Priority);
public sealed record FactionSnapshot(
string Id,
string Label,
string Color,
float Credits,
float PopulationTotal,
float OreMined,
float GoodsProduced,
int ShipsBuilt,
int ShipsLost,
string? DefaultPolicySetId,
FactionGoapStateSnapshot? GoapState,
IReadOnlyList<FactionGoapPrioritySnapshot>? GoapPriorities);
public sealed record FactionDelta(
string Id,
string Label,
string Color,
float Credits,
float PopulationTotal,
float OreMined,
float GoodsProduced,
int ShipsBuilt,
int ShipsLost,
string? DefaultPolicySetId,
FactionGoapStateSnapshot? GoapState,
IReadOnlyList<FactionGoapPrioritySnapshot>? GoapPriorities);