mirror of
https://github.com/9ParsonsB/Pulsar.git
synced 2025-07-01 08:23:42 -04:00
ready for testing
This commit is contained in:
@ -33,6 +33,20 @@ namespace Observatory.Framework
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Suggests default column width when building basic UI
|
||||
/// </summary>
|
||||
[AttributeUsage(AttributeTargets.Property | AttributeTargets.Field)]
|
||||
public class ColumnSuggestedWidth : Attribute
|
||||
{
|
||||
public ColumnSuggestedWidth(int width)
|
||||
{
|
||||
Width = width;
|
||||
}
|
||||
|
||||
public int Width { get; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Indicates that the property should not be displayed to the user in the UI.
|
||||
/// </summary>
|
||||
|
@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
using System.Reflection.Metadata.Ecma335;
|
||||
|
||||
namespace Observatory.Framework.Files.Converters
|
||||
{
|
||||
class ThargoidWarRemainingTimeConverter : JsonConverter<int>
|
||||
{
|
||||
public override int Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
||||
{
|
||||
if (reader.TokenType == JsonTokenType.String)
|
||||
{
|
||||
string value = reader.GetString();
|
||||
|
||||
int dayCount = Int32.TryParse(value.Split(' ')[0], out int days)
|
||||
? days
|
||||
: 0;
|
||||
|
||||
return dayCount;
|
||||
}
|
||||
else
|
||||
return reader.GetInt32();
|
||||
}
|
||||
|
||||
public override void Write(Utf8JsonWriter writer, int value, JsonSerializerOptions options)
|
||||
{
|
||||
writer.WriteStringValue(value.ToString() + " Days");
|
||||
}
|
||||
}
|
||||
}
|
@ -6,6 +6,8 @@ namespace Observatory.Framework.Files.Journal
|
||||
public class Bounty : JournalBase
|
||||
{
|
||||
public ImmutableList<Rewards> Rewards { get; init; }
|
||||
public string PilotName { get; set; }
|
||||
public string PilotName_Localised { get; set; }
|
||||
public string Target { get; init; }
|
||||
public string Target_Localised { get; init; }
|
||||
public string Faction { get; init; }
|
||||
|
@ -4,5 +4,6 @@
|
||||
{
|
||||
public string Interdictor { get; init; }
|
||||
public bool IsPlayer { get; init; }
|
||||
public bool IsThargoid { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -9,5 +9,6 @@
|
||||
public int CombatRank { get; init; }
|
||||
public string Faction { get; init; }
|
||||
public string Power { get; init; }
|
||||
public bool IsThargoid { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -14,6 +14,10 @@
|
||||
/// </summary>
|
||||
public string SignalName_Localised { get; init; }
|
||||
/// <summary>
|
||||
/// Type of signal location.
|
||||
/// </summary>
|
||||
public string SignalType { get; init; }
|
||||
/// <summary>
|
||||
/// Faction state or circumstance that caused this signal to appear.
|
||||
/// </summary>
|
||||
public string SpawningState { get; init; }
|
||||
|
@ -8,6 +8,10 @@ namespace Observatory.Framework.Files.Journal
|
||||
public class CarrierJump : FSDJump
|
||||
{
|
||||
public bool Docked { get; init; }
|
||||
public bool OnFoot { get; init; }
|
||||
/// <summary>
|
||||
/// Name of the station at which this event occurred.
|
||||
/// </summary>
|
||||
public string StationName { get; init; }
|
||||
public string StationType { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
|
@ -18,6 +18,9 @@ namespace Observatory.Framework.Files.Journal
|
||||
public int BodyID { get; init; }
|
||||
public bool OnStation { get; init; }
|
||||
public bool OnPlanet { get; init; }
|
||||
/// <summary>
|
||||
/// Name of the station at which this event occurred.
|
||||
/// </summary>
|
||||
public string StationName { get; init; }
|
||||
public string StationType { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
|
@ -11,6 +11,8 @@ namespace Observatory.Framework.Files.Journal
|
||||
public string Genus_Localised { get; init; }
|
||||
public string Species { get; init; }
|
||||
public string Species_Localised { get; init; }
|
||||
public string Variant { get; init; }
|
||||
public string Variant_Localised { get; init; }
|
||||
public ulong SystemAddress { get; init; }
|
||||
public int Body { get; init; }
|
||||
}
|
||||
|
@ -1,4 +1,9 @@
|
||||
namespace Observatory.Framework.Files.Journal
|
||||
using Observatory.Framework.Files.Converters;
|
||||
using Observatory.Framework.Files.ParameterTypes;
|
||||
using System.Collections.Immutable;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Observatory.Framework.Files.Journal
|
||||
{
|
||||
public class ApproachSettlement : JournalBase
|
||||
{
|
||||
@ -10,5 +15,13 @@
|
||||
public float Longitude { get; init; }
|
||||
public int BodyID { get; init; }
|
||||
public string BodyName { get; init; }
|
||||
public ImmutableList<StationEconomy> StationEconomies { get; init; }
|
||||
public string StationEconomy { get; init; }
|
||||
public string StationEconomy_Localised { get; init; }
|
||||
public Faction StationFaction { get; init; }
|
||||
public string StationGovernment { get; init; }
|
||||
public string StationGovernment_Localised { get; init; }
|
||||
[JsonConverter(typeof(StationServiceConverter))]
|
||||
public StationService StationServices { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,27 @@
|
||||
using Observatory.Framework.Files.ParameterTypes;
|
||||
using System.Collections.Immutable;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Observatory.Framework.Files.Journal
|
||||
{
|
||||
public class Passengers : JournalBase
|
||||
{
|
||||
public ImmutableList<Passenger> Manifest { get; init; }
|
||||
[JsonPropertyName("Passengers_Missions_Accepted")]
|
||||
public int PassengersMissionsAccepted { get; init; }
|
||||
|
||||
[JsonPropertyName("Passengers_Missions_Bulk")]
|
||||
public int PassengersMissionsBulk { get; init; }
|
||||
|
||||
[JsonPropertyName("Passengers_Missions_Delivered")]
|
||||
public int PassengersMissionsDelivered { get; init; }
|
||||
|
||||
[JsonPropertyName("Passengers_Missions_Disgruntled")]
|
||||
public int PassengersMissionsDisgruntled { get; init; }
|
||||
|
||||
[JsonPropertyName("Passengers_Missions_Ejected")]
|
||||
public int PassengersMissionsEjected { get; init; }
|
||||
|
||||
[JsonPropertyName("Passengers_Missions_VIP")]
|
||||
public int PassengersMissionsVip { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -27,5 +27,6 @@ namespace Observatory.Framework.Files.Journal
|
||||
public CQC CQC { get; init; }
|
||||
[JsonPropertyName("FLEETCARRIER")]
|
||||
public FleetCarrier FleetCarrier { get; init; }
|
||||
public Exobiology Exobiology { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,11 @@
|
||||
namespace Observatory.Framework.Files.Journal
|
||||
{
|
||||
public class ClearImpound : JournalBase
|
||||
{
|
||||
public string ShipType { get; init; }
|
||||
public string ShipType_Localised { get; init; }
|
||||
public ulong ShipID { get; init; }
|
||||
public ulong ShipMarketID { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
}
|
||||
}
|
@ -7,6 +7,9 @@ namespace Observatory.Framework.Files.Journal
|
||||
public class Market : JournalBase
|
||||
{
|
||||
public ulong MarketID { get; init; }
|
||||
/// <summary>
|
||||
/// Name of the station at which this event occurred.
|
||||
/// </summary>
|
||||
public string StationName { get; init; }
|
||||
public string StationType { get; init; }
|
||||
public string StarSystem { get; init; }
|
||||
|
@ -5,7 +5,7 @@ namespace Observatory.Framework.Files.Journal
|
||||
{
|
||||
public class MassModuleStore : JournalBase
|
||||
{
|
||||
public long MarketID { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
public string Ship { get; init; }
|
||||
public ulong ShipID { get; init; }
|
||||
public ImmutableList<Item> Items { get; init; }
|
||||
|
@ -3,6 +3,9 @@
|
||||
public class Outfitting : JournalBase
|
||||
{
|
||||
public ulong MarketID { get; init; }
|
||||
/// <summary>
|
||||
/// Name of the station at which this event occurred.
|
||||
/// </summary>
|
||||
public string StationName { get; init; }
|
||||
public string StarSystem { get; init; }
|
||||
}
|
||||
|
@ -3,6 +3,9 @@
|
||||
public class Shipyard : JournalBase
|
||||
{
|
||||
public ulong MarketID { get; init; }
|
||||
/// <summary>
|
||||
/// Name of the station at which this event occurred.
|
||||
/// </summary>
|
||||
public string StationName { get; init; }
|
||||
public string StarSystem { get; init; }
|
||||
}
|
||||
|
@ -6,6 +6,9 @@ namespace Observatory.Framework.Files.Journal
|
||||
public class StoredModules : JournalBase
|
||||
{
|
||||
public string StarSystem { get; init; }
|
||||
/// <summary>
|
||||
/// Name of the station at which this event occurred.
|
||||
/// </summary>
|
||||
public string StationName { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
public ImmutableList<StoredItem> Items { get; init; }
|
||||
|
@ -6,6 +6,9 @@ namespace Observatory.Framework.Files.Journal
|
||||
public class StoredShips : JournalBase
|
||||
{
|
||||
public ulong MarketID { get; init; }
|
||||
/// <summary>
|
||||
/// Name of the station at which this event occurred.
|
||||
/// </summary>
|
||||
public string StationName { get; init; }
|
||||
public string StarSystem { get; init; }
|
||||
public ImmutableList<StoredShip> ShipsHere { get; init; }
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
public class MarketBuy : JournalBase
|
||||
{
|
||||
public long MarketID { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
public string Type { get; init; }
|
||||
public string Type_Localised { get; init; }
|
||||
public int Count { get; init; }
|
||||
|
@ -2,7 +2,7 @@
|
||||
{
|
||||
public class MarketSell : JournalBase
|
||||
{
|
||||
public long MarketID { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
public string Type { get; init; }
|
||||
public string Type_Localised { get; init; }
|
||||
public int Count { get; init; }
|
||||
|
@ -7,12 +7,14 @@ namespace Observatory.Framework.Files.Journal
|
||||
{
|
||||
public class Docked : JournalBase
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Name of the station at which this event occurred.
|
||||
/// </summary>
|
||||
public string StationName { get; init; }
|
||||
public string StationType { get; init; }
|
||||
public string StarSystem { get; init; }
|
||||
public ulong SystemAddress { get; init; }
|
||||
public long MarketID { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
|
||||
[JsonConverter(typeof(Converters.LegacyFactionConverter<Faction>))]
|
||||
public Faction StationFaction { get; init; }
|
||||
|
@ -4,9 +4,12 @@ namespace Observatory.Framework.Files.Journal
|
||||
{
|
||||
public class DockingRequested : JournalBase
|
||||
{
|
||||
/// <summary>
|
||||
/// Name of the station at which this event occurred.
|
||||
/// </summary>
|
||||
public string StationName { get; init; }
|
||||
public string StationType { get; init; }
|
||||
public long MarketID { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
public LandingPads LandingPads { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -49,5 +49,6 @@ namespace Observatory.Framework.Files.Journal
|
||||
public string PowerplayState { get; init; }
|
||||
public bool Taxi { get; init; }
|
||||
public bool Multicrew { get; init; }
|
||||
public ThargoidWar ThargoidWar { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -24,11 +24,14 @@ namespace Observatory.Framework.Files.Journal
|
||||
//Stale Data, discard
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Name of the station at which this event occurred.
|
||||
/// </summary>
|
||||
public string StationName { get; init; }
|
||||
public string StationType { get; init; }
|
||||
public float Longitude { get; init; }
|
||||
public float Latitude { get; init; }
|
||||
public long MarketID { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
|
||||
[JsonConverter(typeof(LegacyFactionConverter<Faction>))]
|
||||
public Faction StationFaction { get; init; }
|
||||
@ -68,5 +71,6 @@ namespace Observatory.Framework.Files.Journal
|
||||
public bool Multicrew { get; init; }
|
||||
public bool OnFoot { get; init; }
|
||||
public bool InSRV { get; init; }
|
||||
public ThargoidWar ThargoidWar { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -6,5 +6,6 @@
|
||||
public string StarSystem { get; init; }
|
||||
public ulong SystemAddress { get; init; }
|
||||
public string StarClass { get; init; }
|
||||
public bool Taxi { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,9 @@
|
||||
namespace Observatory.Framework.Files.Journal
|
||||
{
|
||||
public class SupercruiseDestinationDrop : JournalBase
|
||||
{
|
||||
public string Type { get; init; }
|
||||
public int Threat { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
}
|
||||
}
|
@ -6,5 +6,6 @@
|
||||
public ulong SystemAddress { get; init; }
|
||||
public bool Taxi { get; init; }
|
||||
public bool Multicrew { get; init; }
|
||||
public bool? Wanted { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -2,6 +2,9 @@
|
||||
{
|
||||
public class Undocked : JournalBase
|
||||
{
|
||||
/// <summary>
|
||||
/// Name of the station at which this event occurred.
|
||||
/// </summary>
|
||||
public string StationName { get; init; }
|
||||
public string StationType { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
|
@ -11,7 +11,7 @@ namespace Observatory.Framework.Files
|
||||
/// <summary>
|
||||
/// Unique ID of current market.
|
||||
/// </summary>
|
||||
public long MarketID { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
/// <summary>
|
||||
/// Name of the station where the market is located.
|
||||
/// </summary>
|
||||
|
@ -11,7 +11,7 @@ namespace Observatory.Framework.Files
|
||||
/// <summary>
|
||||
/// Unique ID of current market.
|
||||
/// </summary>
|
||||
public long MarketID { get; init; }
|
||||
public ulong MarketID { get; init; }
|
||||
/// <summary>
|
||||
/// Name of the station where the market is located.
|
||||
/// </summary>
|
||||
|
@ -27,5 +27,21 @@ namespace Observatory.Framework.Files.ParameterTypes
|
||||
|
||||
[JsonPropertyName("Spent_On_Insurance")]
|
||||
public long SpentOnInsurance { get; init; }
|
||||
[JsonPropertyName("Owned_Ship_Count")]
|
||||
public int OwnedShipCount { get; init; }
|
||||
[JsonPropertyName("Premium_Stock_Bought")]
|
||||
public int PremiumStockBought { get; init; }
|
||||
[JsonPropertyName("Spent_On_Premium_Stock")]
|
||||
public long SpentOnPremiumStock { get; init; }
|
||||
[JsonPropertyName("Spent_On_Suit_Consumables")]
|
||||
public long SpentOnSuitConsumables { get; init; }
|
||||
[JsonPropertyName("Spent_On_Suits")]
|
||||
public long SpentOnSuits { get; init; }
|
||||
[JsonPropertyName("Spent_On_Weapons")]
|
||||
public long SpentOnWeapons { get; init; }
|
||||
[JsonPropertyName("Suits_Owned")]
|
||||
public int SuitsOwned { get; init; }
|
||||
[JsonPropertyName("Weapons_Owned")]
|
||||
public int WeaponsOwned { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,8 @@
|
||||
public string Genus_Localised { get; init; }
|
||||
public string Species { get; init; }
|
||||
public string Species_Localised { get; init; }
|
||||
public string Variant { get; init; }
|
||||
public string Variant_Localised { get; init; }
|
||||
public int Value { get; init; }
|
||||
public int Bonus { get; init; }
|
||||
}
|
||||
|
@ -26,5 +26,37 @@ namespace Observatory.Framework.Files.ParameterTypes
|
||||
|
||||
[JsonPropertyName("Skimmers_Killed")]
|
||||
public int SkimmersKilled { get; init; }
|
||||
[JsonPropertyName("ConflictZone_High")]
|
||||
public int ConflictZoneHigh { get; init; }
|
||||
[JsonPropertyName("ConflictZone_High_Wins")]
|
||||
public int ConflictZoneHighWins { get; init; }
|
||||
[JsonPropertyName("ConflictZone_Low")]
|
||||
public int ConflictZoneLow { get; init; }
|
||||
[JsonPropertyName("ConflictZone_Low_Wins")]
|
||||
public int ConflictZoneLowWins { get; init; }
|
||||
[JsonPropertyName("ConflictZone_Medium")]
|
||||
public int ConflictZoneMedium { get; init; }
|
||||
[JsonPropertyName("ConflictZone_Medium_Wins")]
|
||||
public int ConflictZoneMediumWins { get; init; }
|
||||
[JsonPropertyName("ConflictZone_Total")]
|
||||
public int ConflictZoneTotal { get; init; }
|
||||
[JsonPropertyName("ConflictZone_Total_Wins")]
|
||||
public int ConflictZoneTotalWins { get; init; }
|
||||
[JsonPropertyName("OnFoot_Combat_Bonds")]
|
||||
public int OnFootCombatBonds { get; init; }
|
||||
[JsonPropertyName("OnFoot_Combat_Bonds_Profits")]
|
||||
public int OnFootCombatBondsProfits { get; init; }
|
||||
[JsonPropertyName("OnFoot_Scavs_Killed")]
|
||||
public int OnFootScavsKilled { get; init; }
|
||||
[JsonPropertyName("OnFoot_Ships_Destroyed")]
|
||||
public int OnFootShipsDestroyed { get; init; }
|
||||
[JsonPropertyName("OnFoot_Skimmers_Killed")]
|
||||
public int OnFootSkimmersKilled { get; init; }
|
||||
[JsonPropertyName("OnFoot_Vehicles_Destroyed")]
|
||||
public int OnFootVehiclesDestroyed { get; init; }
|
||||
[JsonPropertyName("Settlement_Conquered")]
|
||||
public int SettlementConquered { get; init; }
|
||||
[JsonPropertyName("Settlement_Defended")]
|
||||
public int SettlementDefended { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -29,6 +29,30 @@ namespace Observatory.Framework.Files.ParameterTypes
|
||||
[JsonPropertyName("Recipes_Generated_Rank_5")]
|
||||
public int RecipesGeneratedRank5 { get; init; }
|
||||
|
||||
[JsonPropertyName("Suit_Mods_Applied")]
|
||||
public int SuitModsApplied { get; init; }
|
||||
|
||||
[JsonPropertyName("Suit_Mods_Applied_Full")]
|
||||
public int SuitModsAppliedFull { get; init; }
|
||||
|
||||
[JsonPropertyName("Suits_Upgraded")]
|
||||
public int SuitsUpgraded { get; init; }
|
||||
|
||||
[JsonPropertyName("Suits_Upgraded_Full")]
|
||||
public int SuitsUpgradedFull { get; init; }
|
||||
|
||||
[JsonPropertyName("Weapon_Mods_Applied")]
|
||||
public int WeaponModsApplied { get; init; }
|
||||
|
||||
[JsonPropertyName("Weapon_Mods_Applied_Full")]
|
||||
public int WeaponModsAppliedFull { get; init; }
|
||||
|
||||
[JsonPropertyName("Weapons_Upgraded")]
|
||||
public int WeaponsUpgraded { get; init; }
|
||||
|
||||
[JsonPropertyName("Weapons_Upgraded_Full")]
|
||||
public int WeaponsUpgradedFull { get; init; }
|
||||
|
||||
[JsonPropertyName("Recipes_Applied"), Obsolete(JournalUtilities.ObsoleteMessage)]
|
||||
public int RecipesApplied { get; init; }
|
||||
|
||||
|
@ -19,5 +19,56 @@ namespace Observatory.Framework.Files.ParameterTypes
|
||||
|
||||
[JsonPropertyName("Highest_Bounty")]
|
||||
public decimal HighestBounty { get; init; }
|
||||
|
||||
[JsonPropertyName("Citizens_Murdered")]
|
||||
public int CitizensMurdered { get; init; }
|
||||
|
||||
[JsonPropertyName("Data_Stolen")]
|
||||
public int DataStolen { get; init; }
|
||||
|
||||
[JsonPropertyName("Goods_Stolen")]
|
||||
public int GoodsStolen { get; init; }
|
||||
|
||||
[JsonPropertyName("Guards_Murdered")]
|
||||
public int GuardsMurdered { get; init; }
|
||||
|
||||
[JsonPropertyName("Malware_Uploaded")]
|
||||
public int MalwareUploaded { get; init; }
|
||||
|
||||
[JsonPropertyName("Omnipol_Murdered")]
|
||||
public int OmnipolMurdered { get; init; }
|
||||
|
||||
[JsonPropertyName("Production_Sabotage")]
|
||||
public int ProductionSabotage { get; init; }
|
||||
|
||||
[JsonPropertyName("Production_Theft")]
|
||||
public int ProductionTheft { get; init; }
|
||||
|
||||
[JsonPropertyName("Profiles_Cloned")]
|
||||
public int ProfilesCloned { get; init; }
|
||||
|
||||
[JsonPropertyName("Sample_Stolen")]
|
||||
public int SampleStolen { get; init; }
|
||||
|
||||
[JsonPropertyName("Settlements_State_Shutdown")]
|
||||
public int SettlementsStateShutdown { get; init; }
|
||||
|
||||
[JsonPropertyName("Total_Murders")]
|
||||
public int TotalMurders { get; init; }
|
||||
|
||||
[JsonPropertyName("Total_Stolen")]
|
||||
public int TotalStolen { get; init; }
|
||||
|
||||
[JsonPropertyName("Turrets_Destroyed")]
|
||||
public int TurretsDestroyed { get; init; }
|
||||
|
||||
[JsonPropertyName("Turrets_Overloaded")]
|
||||
public int TurretsOverloaded { get; init; }
|
||||
|
||||
[JsonPropertyName("Turrets_Total")]
|
||||
public int TurretsTotal { get; init; }
|
||||
|
||||
[JsonPropertyName("Value_Stolen_StateChange")]
|
||||
public int ValueStolenStatechange { get; init; }
|
||||
}
|
||||
}
|
||||
|
45
ObservatoryFramework/Files/ParameterTypes/Exobiology.cs
Normal file
45
ObservatoryFramework/Files/ParameterTypes/Exobiology.cs
Normal file
@ -0,0 +1,45 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json.Serialization;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Observatory.Framework.Files.ParameterTypes
|
||||
{
|
||||
public class Exobiology
|
||||
{
|
||||
[JsonPropertyName("First_Logged")]
|
||||
public int FirstLogged { get; init; }
|
||||
|
||||
[JsonPropertyName("First_Logged_Profits")]
|
||||
public long FirstLoggedProfits { get; init; }
|
||||
|
||||
[JsonPropertyName("Organic_Data")]
|
||||
public int OrganicData { get; init; }
|
||||
|
||||
[JsonPropertyName("Organic_Data_Profits")]
|
||||
public long OrganicDataProfits { get; init; }
|
||||
|
||||
[JsonPropertyName("Organic_Genus")]
|
||||
public int OrganicGenus { get; init; }
|
||||
|
||||
[JsonPropertyName("Organic_Genus_Encountered")]
|
||||
public int OrganicGenusEncountered { get; init; }
|
||||
|
||||
[JsonPropertyName("Organic_Planets")]
|
||||
public int OrganicPlanets { get; init; }
|
||||
|
||||
[JsonPropertyName("Organic_Species")]
|
||||
public int OrganicSpecies { get; init; }
|
||||
|
||||
[JsonPropertyName("Organic_Species_Encountered")]
|
||||
public int OrganicSpeciesEncountered { get; init; }
|
||||
|
||||
[JsonPropertyName("Organic_Systems")]
|
||||
public int OrganicSystems { get; init; }
|
||||
|
||||
[JsonPropertyName("Organic_Variant_Encountered")]
|
||||
public int OrganicVariantEncountered { get; init; }
|
||||
}
|
||||
}
|
@ -40,5 +40,26 @@ namespace Observatory.Framework.Files.ParameterTypes
|
||||
|
||||
[JsonPropertyName("Efficient_Scans")]
|
||||
public int EfficientScans { get; init; }
|
||||
|
||||
[JsonPropertyName("First_Footfalls")]
|
||||
public int FirstFootfalls { get; init; }
|
||||
|
||||
[JsonPropertyName("OnFoot_Distance_Travelled")]
|
||||
public long OnFootDistanceTravelled { get; init; }
|
||||
|
||||
[JsonPropertyName("Planet_Footfalls")]
|
||||
public int PlanetFootfalls { get; init; }
|
||||
|
||||
[JsonPropertyName("Settlements_Visited")]
|
||||
public int SettlementsVisited { get; init; }
|
||||
|
||||
[JsonPropertyName("Shuttle_Distance_Travelled")]
|
||||
public double ShuttleDistanceTravelled { get; init; }
|
||||
|
||||
[JsonPropertyName("Shuttle_Journeys")]
|
||||
public int ShuttleJourneys { get; init; }
|
||||
|
||||
[JsonPropertyName("Spent_On_Shuttles")]
|
||||
public long SpentOnShuttles { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,12 @@ namespace Observatory.Framework.Files.ParameterTypes
|
||||
{
|
||||
public class MaterialTrader
|
||||
{
|
||||
[JsonPropertyName("Assets_Traded_In")]
|
||||
public int AssetsTradedIn { get; init; }
|
||||
|
||||
[JsonPropertyName("Assets_Traded_Out")]
|
||||
public int AssetsTradedOut { get; init; }
|
||||
|
||||
[JsonPropertyName("Trades_Completed")]
|
||||
public int TradesCompleted { get; init; }
|
||||
|
||||
|
@ -12,5 +12,29 @@ namespace Observatory.Framework.Files.ParameterTypes
|
||||
|
||||
[JsonPropertyName("SearchRescue_Count")]
|
||||
public int Count { get; init; }
|
||||
|
||||
[JsonPropertyName("Maglocks_Opened")]
|
||||
public int MaglocksOpened { get; init; }
|
||||
|
||||
[JsonPropertyName("Panels_Opened")]
|
||||
public int PanelsOpened { get; init; }
|
||||
|
||||
[JsonPropertyName("Salvage_Illegal_POI")]
|
||||
public int SalvageIllegalPoi { get; init; }
|
||||
|
||||
[JsonPropertyName("Salvage_Illegal_Settlements")]
|
||||
public int SalvageIllegalSettlements { get; init; }
|
||||
|
||||
[JsonPropertyName("Salvage_Legal_POI")]
|
||||
public int SalvageLegalPoi { get; init; }
|
||||
|
||||
[JsonPropertyName("Salvage_Legal_Settlements")]
|
||||
public int SalvageLegalSettlements { get; init; }
|
||||
|
||||
[JsonPropertyName("Settlements_State_FireOut")]
|
||||
public int SettlementsStateFireOut { get; init; }
|
||||
|
||||
[JsonPropertyName("Settlements_State_Reboot")]
|
||||
public int SettlementsStateReboot { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,9 @@ namespace Observatory.Framework.Files.ParameterTypes
|
||||
{
|
||||
public class Thargoid
|
||||
{
|
||||
[JsonPropertyName("TG_ENCOUNTER_KILLED")]
|
||||
public int EncounterKilled { get; init; }
|
||||
|
||||
[JsonPropertyName("TG_ENCOUNTER_WAKES")]
|
||||
public int EncounterWakes { get; init; }
|
||||
|
||||
@ -18,8 +21,5 @@ namespace Observatory.Framework.Files.ParameterTypes
|
||||
|
||||
[JsonPropertyName("TG_ENCOUNTER_TOTAL_LAST_SHIP")]
|
||||
public string LastShip { get; init; }
|
||||
|
||||
[JsonPropertyName("TG_SCOUT_COUNT")]
|
||||
public int ScoutCount { get; init; }
|
||||
}
|
||||
}
|
||||
|
16
ObservatoryFramework/Files/ParameterTypes/ThargoidWar.cs
Normal file
16
ObservatoryFramework/Files/ParameterTypes/ThargoidWar.cs
Normal file
@ -0,0 +1,16 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Observatory.Framework.Files.ParameterTypes
|
||||
{
|
||||
public class ThargoidWar
|
||||
{
|
||||
public string CurrentState { get; init; }
|
||||
public string NextStateSuccess { get; init; }
|
||||
public string NextStateFailure { get; init; }
|
||||
public bool SuccessStateReached { get; init; }
|
||||
public double WarProgress { get; init; }
|
||||
public int RemainingPorts { get; init; }
|
||||
[JsonConverter(typeof(Converters.ThargoidWarRemainingTimeConverter))]
|
||||
public int EstimatedRemainingTime { get; init; }
|
||||
}
|
||||
}
|
@ -18,5 +18,14 @@ namespace Observatory.Framework.Files.ParameterTypes
|
||||
|
||||
[JsonPropertyName("Highest_Single_Transaction")]
|
||||
public long HighestSingleTransaction { get; init; }
|
||||
|
||||
[JsonPropertyName("Assets_Sold")]
|
||||
public int AssetsSold { get; init; }
|
||||
|
||||
[JsonPropertyName("Data_Sold")]
|
||||
public int DataSold { get; init; }
|
||||
|
||||
[JsonPropertyName("Goods_Sold")]
|
||||
public int GoodsSold { get; init; }
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
using Observatory.Framework.Files;
|
||||
using Observatory.Framework.Files.Journal;
|
||||
using System.Xml.XPath;
|
||||
|
||||
namespace Observatory.Framework.Interfaces
|
||||
{
|
||||
@ -51,11 +50,16 @@ namespace Observatory.Framework.Interfaces
|
||||
|
||||
/// <summary>
|
||||
/// <para>Plugin-specific object implementing the IComparer interface which is used to sort columns in the basic UI datagrid.</para>
|
||||
/// <para>If omitted a basic numeric compare sorter is used.</para>
|
||||
/// <para>If omitted a natural sort order is used.</para>
|
||||
/// </summary>
|
||||
public IObservatoryComparer ColumnSorter
|
||||
{ get => null; }
|
||||
|
||||
/// <summary>
|
||||
/// Receives data sent by other plugins.
|
||||
/// </summary>
|
||||
public void HandlePluginMessage(string sourceName, string sourceVersion, object messageArgs)
|
||||
{ }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -94,7 +98,7 @@ namespace Observatory.Framework.Interfaces
|
||||
/// Used to track if a "Read All" operation is in progress or not to avoid unnecessary processing or notifications.<br/>
|
||||
/// Can be omitted for plugins which do not require the distinction.
|
||||
/// </summary>
|
||||
[Obsolete] // Replaced by LogMonitorStateChanged
|
||||
[Obsolete("Deprecated in favour of LogMonitorStateChanged")]
|
||||
public void ReadAllStarted()
|
||||
{ }
|
||||
|
||||
@ -103,7 +107,7 @@ namespace Observatory.Framework.Interfaces
|
||||
/// Used to track if a "Read All" operation is in progress or not to avoid unnecessary processing or notifications.<br/>
|
||||
/// Can be omitted for plugins which do not require the distinction.
|
||||
/// </summary>
|
||||
[Obsolete] // Replaced by LogMonitorStateChanged
|
||||
[Obsolete("Deprecated in favour of LogMonitorStateChanged")]
|
||||
public void ReadAllFinished()
|
||||
{ }
|
||||
}
|
||||
@ -120,6 +124,20 @@ namespace Observatory.Framework.Interfaces
|
||||
/// </summary>
|
||||
/// <param name="notificationEventArgs">Details of the notification as sent from the originating worker plugin.</param>
|
||||
public void OnNotificationEvent(NotificationArgs notificationEventArgs);
|
||||
|
||||
/// <summary>
|
||||
/// Property set by notification plugins to indicate to Core
|
||||
/// that native audio notifications should be disabled/suppressed.
|
||||
/// </summary>
|
||||
public bool OverrideAudioNotifications
|
||||
{ get => false; }
|
||||
|
||||
/// <summary>
|
||||
/// Property set by notification plugins to indicate to Core
|
||||
/// that native popup notifications should be disabled/suppressed.
|
||||
/// </summary>
|
||||
public bool OverridePopupNotifications
|
||||
{ get => false; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -219,6 +237,17 @@ namespace Observatory.Framework.Interfaces
|
||||
/// Retrieves and ensures creation of a location which can be used by the plugin to store persistent data.
|
||||
/// </summary>
|
||||
public string PluginStorageFolder { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Plays audio file using default audio device.
|
||||
/// </summary>
|
||||
/// <param name="filePath">Absolute path to audio file.</param>
|
||||
public Task PlayAudioFile(string filePath);
|
||||
|
||||
/// <summary>
|
||||
/// Sends arbitrary data to all other plugins. The full name and version of the sending plugin will be used to identify the sender to any recipients.
|
||||
/// </summary>
|
||||
public void SendPluginMessage(IObservatoryPlugin plugin, object message);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -20,6 +20,11 @@
|
||||
Accessor to get/set displayed name.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Observatory.Framework.ColumnSuggestedWidth">
|
||||
<summary>
|
||||
Suggests default column width when building basic UI
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Observatory.Framework.SettingIgnore">
|
||||
<summary>
|
||||
Indicates that the property should not be displayed to the user in the UI.
|
||||
@ -489,6 +494,11 @@
|
||||
Localised name of the signal type.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Files.Journal.FSSSignalDiscovered.SignalType">
|
||||
<summary>
|
||||
Type of signal location.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Files.Journal.FSSSignalDiscovered.SpawningState">
|
||||
<summary>
|
||||
Faction state or circumstance that caused this signal to appear.
|
||||
@ -1005,6 +1015,61 @@
|
||||
Total amount made from selling data.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Files.Journal.CarrierJump.StationName">
|
||||
<summary>
|
||||
Name of the station at which this event occurred.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Files.Journal.Disembark.StationName">
|
||||
<summary>
|
||||
Name of the station at which this event occurred.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Files.Journal.Market.StationName">
|
||||
<summary>
|
||||
Name of the station at which this event occurred.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Files.Journal.Outfitting.StationName">
|
||||
<summary>
|
||||
Name of the station at which this event occurred.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Files.Journal.Shipyard.StationName">
|
||||
<summary>
|
||||
Name of the station at which this event occurred.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Files.Journal.StoredModules.StationName">
|
||||
<summary>
|
||||
Name of the station at which this event occurred.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Files.Journal.StoredShips.StationName">
|
||||
<summary>
|
||||
Name of the station at which this event occurred.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Files.Journal.Docked.StationName">
|
||||
<summary>
|
||||
Name of the station at which this event occurred.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Files.Journal.DockingRequested.StationName">
|
||||
<summary>
|
||||
Name of the station at which this event occurred.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Files.Journal.Location.StationName">
|
||||
<summary>
|
||||
Name of the station at which this event occurred.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Files.Journal.Undocked.StationName">
|
||||
<summary>
|
||||
Name of the station at which this event occurred.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Observatory.Framework.Files.CargoFile">
|
||||
<summary>
|
||||
Elite Dangerous cargo.json file. Describes the current cargo carried above the player's ship.
|
||||
@ -1352,8 +1417,13 @@
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Interfaces.IObservatoryPlugin.ColumnSorter">
|
||||
<summary>
|
||||
Plugin-specific object implementing the IComparer interface which is used to sort columns in the basic UI datagrid.
|
||||
If omitted a basic string compare sorter is used.
|
||||
<para>Plugin-specific object implementing the IComparer interface which is used to sort columns in the basic UI datagrid.</para>
|
||||
<para>If omitted a natural sort order is used.</para>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Observatory.Framework.Interfaces.IObservatoryPlugin.HandlePluginMessage(System.String,System.String,System.Object)">
|
||||
<summary>
|
||||
Receives data sent by other plugins.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Observatory.Framework.Interfaces.IObservatoryWorker">
|
||||
@ -1412,6 +1482,18 @@
|
||||
</summary>
|
||||
<param name="notificationEventArgs">Details of the notification as sent from the originating worker plugin.</param>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Interfaces.IObservatoryNotifier.OverrideAudioNotifications">
|
||||
<summary>
|
||||
Property set by notification plugins to indicate to Core
|
||||
that native audio notifications should be disabled/suppressed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Observatory.Framework.Interfaces.IObservatoryNotifier.OverridePopupNotifications">
|
||||
<summary>
|
||||
Property set by notification plugins to indicate to Core
|
||||
that native popup notifications should be disabled/suppressed.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Observatory.Framework.Interfaces.IObservatoryCore">
|
||||
<summary>
|
||||
Interface passed by Observatory Core to plugins. Primarily used for sending notifications and UI updates back to Core.
|
||||
@ -1510,6 +1592,17 @@
|
||||
Retrieves and ensures creation of a location which can be used by the plugin to store persistent data.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Observatory.Framework.Interfaces.IObservatoryCore.PlayAudioFile(System.String)">
|
||||
<summary>
|
||||
Plays audio file using default audio device.
|
||||
</summary>
|
||||
<param name="filePath">Absolute path to audio file.</param>
|
||||
</member>
|
||||
<member name="M:Observatory.Framework.Interfaces.IObservatoryCore.SendPluginMessage(Observatory.Framework.Interfaces.IObservatoryPlugin,System.Object)">
|
||||
<summary>
|
||||
Sends arbitrary data to all other plugins. The full name and version of the sending plugin will be used to identify the sender to any recipients.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:Observatory.Framework.Interfaces.IObservatoryComparer">
|
||||
<summary>
|
||||
Extends the base IComparer interface with exposed values for the column ID and sort order to use.
|
||||
|
Reference in New Issue
Block a user