2
0
mirror of https://github.com/9ParsonsB/Pulsar.git synced 2025-07-01 08:23:42 -04:00

Initial Commit

This commit is contained in:
2024-04-13 15:54:59 +10:00
parent 8e178cbb7b
commit 63ed43f4af
459 changed files with 8039 additions and 20504 deletions

View File

@ -1,12 +1,11 @@
using Observatory.Framework.Files.ParameterTypes;
using System.Collections.Immutable;
using System.Collections.Immutable;
using Observatory.Framework.Files.ParameterTypes;
namespace Observatory.Framework.Files.Journal
namespace Observatory.Framework.Files.Journal.Startup;
public class Cargo : JournalBase
{
public class Cargo : JournalBase
{
public string Vessel { get; init; }
public int Count { get; init; }
public ImmutableList<CargoType> Inventory { get; init; }
}
}
public string Vessel { get; init; }
public int Count { get; init; }
public ImmutableList<CargoType> Inventory { get; init; }
}

View File

@ -1,5 +1,4 @@
namespace Observatory.Framework.Files.Journal
{
public class ClearSavedGame : Commander
{ }
}
namespace Observatory.Framework.Files.Journal.Startup;
public class ClearSavedGame : Commander
{ }

View File

@ -1,9 +1,8 @@
namespace Observatory.Framework.Files.Journal
{
public class Commander : JournalBase
{
public string Name { get; init; }
namespace Observatory.Framework.Files.Journal.Startup;
public string FID { get; init; }
}
}
public class Commander : JournalBase
{
public string Name { get; init; }
public string FID { get; init; }
}

View File

@ -1,20 +1,19 @@
using System.Text.Json.Serialization;
namespace Observatory.Framework.Files.Journal
namespace Observatory.Framework.Files.Journal.Startup;
public class FileHeader : JournalBase
{
public class FileHeader : JournalBase
{
[JsonPropertyName("part")]
public int Part { get; init; }
[JsonPropertyName("part")]
public int Part { get; init; }
[JsonPropertyName("language")]
public string Language { get; init; }
[JsonPropertyName("language")]
public string Language { get; init; }
[JsonPropertyName("gameversion")]
public string GameVersion { get; init; }
[JsonPropertyName("gameversion")]
public string GameVersion { get; init; }
[JsonPropertyName("build")]
public string Build { get; init; }
public bool Odyssey { get; init; }
}
[JsonPropertyName("build")]
public string Build { get; init; }
public bool Odyssey { get; init; }
}

View File

@ -1,31 +1,30 @@
using System.Text.Json.Serialization;
namespace Observatory.Framework.Files.Journal
namespace Observatory.Framework.Files.Journal.Startup;
public class LoadGame : JournalBase
{
public class LoadGame : JournalBase
{
public string Commander { get; init; }
public string FID { get; init; }
public bool Horizons { get; init; }
public bool Odyssey { get; init; }
public string Ship { get; init; }
public string Ship_Localised { get; init; }
public ulong ShipID { get; init; }
public bool StartLanded { get; init; }
public bool StartDead { get; init; }
public string GameMode { get; init; }
public string Group { get; init; }
public long Credits { get; init; }
public long Loan { get; init; }
public string ShipName { get; init; }
public string ShipIdent { get; init; }
public double FuelLevel { get; init; }
public double FuelCapacity { get; init; }
[JsonPropertyName("language")]
public string Language { get; init; }
[JsonPropertyName("gameversion")]
public string GameVersion { get; init; }
[JsonPropertyName("build")]
public string Build { get; init; }
}
}
public string Commander { get; init; }
public string FID { get; init; }
public bool Horizons { get; init; }
public bool Odyssey { get; init; }
public string Ship { get; init; }
public string Ship_Localised { get; init; }
public ulong ShipID { get; init; }
public bool StartLanded { get; init; }
public bool StartDead { get; init; }
public string GameMode { get; init; }
public string Group { get; init; }
public long Credits { get; init; }
public long Loan { get; init; }
public string ShipName { get; init; }
public string ShipIdent { get; init; }
public double FuelLevel { get; init; }
public double FuelCapacity { get; init; }
[JsonPropertyName("language")]
public string Language { get; init; }
[JsonPropertyName("gameversion")]
public string GameVersion { get; init; }
[JsonPropertyName("build")]
public string Build { get; init; }
}

View File

@ -1,23 +1,22 @@
using Observatory.Framework.Files.ParameterTypes;
using System.Collections.Immutable;
using System.Collections.Immutable;
using Observatory.Framework.Files.ParameterTypes;
namespace Observatory.Framework.Files.Journal
namespace Observatory.Framework.Files.Journal.Startup;
public class Loadout : JournalBase
{
public class Loadout : JournalBase
{
public string Ship { get; init; }
public ulong ShipID { get; init; }
public string ShipName { get; init; }
public string ShipIdent { get; init; }
public int CargoCapacity { get; init; }
public ulong HullValue { get; init; }
public ulong ModulesValue { get; init; }
public double HullHealth { get; init; }
public double UnladenMass { get; init; }
public FuelCapacity FuelCapacity { get; init; }
public double MaxJumpRange { get; init; }
public ulong Rebuy { get; init; }
public bool Hot { get; init; }
public ImmutableList<Modules> Modules { get; init; }
}
}
public string Ship { get; init; }
public ulong ShipID { get; init; }
public string ShipName { get; init; }
public string ShipIdent { get; init; }
public int CargoCapacity { get; init; }
public ulong HullValue { get; init; }
public ulong ModulesValue { get; init; }
public double HullHealth { get; init; }
public double UnladenMass { get; init; }
public FuelCapacity FuelCapacity { get; init; }
public double MaxJumpRange { get; init; }
public ulong Rebuy { get; init; }
public bool Hot { get; init; }
public ImmutableList<Modules> Modules { get; init; }
}

View File

@ -1,13 +1,12 @@
using Observatory.Framework.Files.ParameterTypes;
using System.Collections.Immutable;
using System.Collections.Immutable;
using Observatory.Framework.Files.ParameterTypes;
namespace Observatory.Framework.Files.Journal
namespace Observatory.Framework.Files.Journal.Startup;
public class Materials : JournalBase
{
public class Materials : JournalBase
{
public ImmutableList<Material> Raw { get; init; }
public ImmutableList<Material> Manufactured { get; init; }
public ImmutableList<Material> Encoded { get; init; }
public ImmutableList<Material> Raw { get; init; }
public ImmutableList<Material> Manufactured { get; init; }
public ImmutableList<Material> Encoded { get; init; }
}
}
}

View File

@ -1,12 +1,11 @@
using Observatory.Framework.Files.ParameterTypes;
using System.Collections.Immutable;
using System.Collections.Immutable;
using Observatory.Framework.Files.ParameterTypes;
namespace Observatory.Framework.Files.Journal
namespace Observatory.Framework.Files.Journal.Startup;
public class Missions : JournalBase
{
public class Missions : JournalBase
{
public ImmutableList<Mission> Active { get; init; }
public ImmutableList<Mission> Failed { get; init; }
public ImmutableList<Mission> Complete { get; init; }
}
}
public ImmutableList<Mission> Active { get; init; }
public ImmutableList<Mission> Failed { get; init; }
public ImmutableList<Mission> Complete { get; init; }
}

View File

@ -1,7 +1,6 @@
namespace Observatory.Framework.Files.Journal
namespace Observatory.Framework.Files.Journal.Startup;
public class NewCommander : Commander
{
public class NewCommander : Commander
{
public string Package { get; init; }
}
}
public string Package { get; init; }
}

View File

@ -1,27 +1,24 @@
using Observatory.Framework.Files.ParameterTypes;
using System.Collections.Immutable;
using System.Text.Json.Serialization;
using System.Text.Json.Serialization;
namespace Observatory.Framework.Files.Journal
namespace Observatory.Framework.Files.Journal.Startup;
public class Passengers : JournalBase
{
public class Passengers : JournalBase
{
[JsonPropertyName("Passengers_Missions_Accepted")]
public int PassengersMissionsAccepted { get; init; }
[JsonPropertyName("Passengers_Missions_Accepted")]
public int PassengersMissionsAccepted { get; init; }
[JsonPropertyName("Passengers_Missions_Bulk")]
public int PassengersMissionsBulk { get; init; }
[JsonPropertyName("Passengers_Missions_Bulk")]
public int PassengersMissionsBulk { get; init; }
[JsonPropertyName("Passengers_Missions_Delivered")]
public int PassengersMissionsDelivered { get; init; }
[JsonPropertyName("Passengers_Missions_Delivered")]
public int PassengersMissionsDelivered { get; init; }
[JsonPropertyName("Passengers_Missions_Disgruntled")]
public int PassengersMissionsDisgruntled { get; init; }
[JsonPropertyName("Passengers_Missions_Disgruntled")]
public int PassengersMissionsDisgruntled { get; init; }
[JsonPropertyName("Passengers_Missions_Ejected")]
public int PassengersMissionsEjected { get; init; }
[JsonPropertyName("Passengers_Missions_Ejected")]
public int PassengersMissionsEjected { get; init; }
[JsonPropertyName("Passengers_Missions_VIP")]
public int PassengersMissionsVip { get; init; }
}
}
[JsonPropertyName("Passengers_Missions_VIP")]
public int PassengersMissionsVip { get; init; }
}

View File

@ -1,15 +1,14 @@
namespace Observatory.Framework.Files.Journal
namespace Observatory.Framework.Files.Journal.Startup;
public class Powerplay : JournalBase
{
public class Powerplay : JournalBase
{
public string Power { get; init; }
public string Power { get; init; }
public int Rank { get; init; }
public int Rank { get; init; }
public int Merits { get; init; }
public int Merits { get; init; }
public int Votes { get; init; }
public int Votes { get; init; }
public long TimePledged { get; init; }
}
}
public long TimePledged { get; init; }
}

View File

@ -1,5 +1,4 @@
namespace Observatory.Framework.Files.Journal
{
public class Progress : Rank
{ }
}
namespace Observatory.Framework.Files.Journal.Startup;
public class Progress : Rank
{ }

View File

@ -1,16 +1,15 @@
using Observatory.Framework.Files.ParameterTypes;
namespace Observatory.Framework.Files.Journal
namespace Observatory.Framework.Files.Journal.Startup;
public class Rank : JournalBase
{
public class Rank : JournalBase
{
public RankCombat Combat { get; init; }
public RankTrade Trade { get; init; }
public RankExploration Explore { get; init; }
public RankCQC CQC { get; init; }
public RankSoldier Soldier { get; init; }
public RankExobiologist Exobiologist { get; init; }
public RankEmpire Empire { get; init; }
public RankFederation Federation { get; init; }
}
}
public RankCombat Combat { get; init; }
public RankTrade Trade { get; init; }
public RankExploration Explore { get; init; }
public RankCQC CQC { get; init; }
public RankSoldier Soldier { get; init; }
public RankExobiologist Exobiologist { get; init; }
public RankEmpire Empire { get; init; }
public RankFederation Federation { get; init; }
}

View File

@ -1,38 +1,38 @@
namespace Observatory.Framework.Files.Journal
namespace Observatory.Framework.Files.Journal.Startup;
public class Reputation : JournalBase
{
public class Reputation : JournalBase
public float Empire { get; init; }
public float Federation { get; init; }
public float Independent { get; init; }
public float Alliance { get; init; }
public string EmpireText()
{
public float Empire { get; init; }
public float Federation { get; init; }
public float Independent { get; init; }
public float Alliance { get; init; }
public string EmpireText()
{
return GetReputationText(Empire);
}
public string FederationText()
{
public string FederationText()
{
return GetReputationText(Federation);
}
public string IndependentText()
{
public string IndependentText()
{
return GetReputationText(Independent);
}
public string AllianceText()
{
public string AllianceText()
{
return GetReputationText(Alliance);
}
private string GetReputationText(float rep)
{
string text = rep switch
private string GetReputationText(float rep)
{
var text = rep switch
{
float r when r > 90 => "allied",
float r when r > 35 => "friendly",
@ -43,5 +43,4 @@
};
return text;
}
}
}
}

View File

@ -1,32 +1,30 @@
using System;
using System.Text.Json.Serialization;
using System.Text.Json.Serialization;
using Observatory.Framework.Files.ParameterTypes;
namespace Observatory.Framework.Files.Journal
namespace Observatory.Framework.Files.Journal.Startup;
public class Statistics : JournalBase
{
public class Statistics : JournalBase
{
[JsonPropertyName("Bank_Account")]
public BankAccount BankAccount { get; init; }
public Combat Combat { get; init; }
public Crime Crime { get; init; }
public Smuggling Smuggling { get; init; }
public Trading Trading { get; init; }
public Mining Mining { get; init; }
public Exploration Exploration { get; init; }
public Passengers Passengers { get; init; }
[JsonPropertyName("Search_And_Rescue")]
public ParameterTypes.SearchAndRescue SearchAndRescue { get; init; }
public Crafting Crafting { get; init; }
public Crew Crew { get; init; }
public Multicrew Multicrew { get; init; }
[JsonPropertyName("TG_ENCOUNTERS")]
public Thargoid Thargoid { get; init; }
[JsonPropertyName("Material_Trader_Stats")]
public MaterialTrader MaterialTrader { get; init; }
public CQC CQC { get; init; }
[JsonPropertyName("FLEETCARRIER")]
public FleetCarrier FleetCarrier { get; init; }
public Exobiology Exobiology { get; init; }
}
}
[JsonPropertyName("Bank_Account")]
public BankAccount BankAccount { get; init; }
public ParameterTypes.Combat Combat { get; init; }
public Crime Crime { get; init; }
public Smuggling Smuggling { get; init; }
public Trading Trading { get; init; }
public Mining Mining { get; init; }
public ParameterTypes.Exploration Exploration { get; init; }
public Passengers Passengers { get; init; }
[JsonPropertyName("Search_And_Rescue")]
public ParameterTypes.SearchAndRescue SearchAndRescue { get; init; }
public Crafting Crafting { get; init; }
public Crew Crew { get; init; }
public Multicrew Multicrew { get; init; }
[JsonPropertyName("TG_ENCOUNTERS")]
public Thargoid Thargoid { get; init; }
[JsonPropertyName("Material_Trader_Stats")]
public MaterialTrader MaterialTrader { get; init; }
public CQC CQC { get; init; }
[JsonPropertyName("FLEETCARRIER")]
public ParameterTypes.FleetCarrier FleetCarrier { get; init; }
public Exobiology Exobiology { get; init; }
}