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

Reorganize all observatory core projects into monorepo (#25)

* chore: move all observatory repos to core

* only save journal folder on change, don't constantly re-check during monitoring

* chore: monorepo project changes

* chore: monorepo migration
This commit is contained in:
Xjph
2021-10-21 19:31:32 -02:30
committed by GitHub
parent 456c80198a
commit 4c1031b8f9
371 changed files with 7565 additions and 5 deletions

View File

@ -0,0 +1,7 @@
namespace Observatory.Framework.Files.Journal
{
public class BuyAmmo : JournalBase
{
public int Cost { get; init; }
}
}

View File

@ -0,0 +1,11 @@
namespace Observatory.Framework.Files.Journal
{
public class BuyDrones : JournalBase
{
public string Type { get; init; }
public int Count { get; init; }
public int BuyPrice { get; init; }
public int SellPrice { get; init; }
public int TotalCost { get; init; }
}
}

View File

@ -0,0 +1,21 @@
using Observatory.Framework.Files.ParameterTypes;
using System.Text.Json.Serialization;
namespace Observatory.Framework.Files.Journal
{
public class CargoDepot : JournalBase
{
public int MissionID { get; init; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public UpdateType UpdateType { get; init; }
public string CargoType { get; init; }
public string CargoType_Localised { get; init; }
public int Count { get; init; }
public long StartMarketID { get; init; }
public long EndMarketID { get; init; }
public int ItemsCollected { get; init; }
public int ItemsDelivered { get; init; }
public int TotalItemsToDeliver { get; init; }
public float Progress { get; init; }
}
}

View File

@ -0,0 +1,10 @@
using Observatory.Framework.Files.ParameterTypes;
using System.Collections.Immutable;
namespace Observatory.Framework.Files.Journal
{
public class CommunityGoal : JournalBase
{
public ImmutableList<CurrentGoal> CurrentGoals { get; init; }
}
}

View File

@ -0,0 +1,9 @@
namespace Observatory.Framework.Files.Journal
{
public class CommunityGoalDiscard : JournalBase
{
public long CGID { get; init; }
public string Name { get; init; }
public string System { get; init; }
}
}

View File

@ -0,0 +1,6 @@
namespace Observatory.Framework.Files.Journal
{
public class CommunityGoalJoin : CommunityGoalDiscard
{
}
}

View File

@ -0,0 +1,7 @@
namespace Observatory.Framework.Files.Journal
{
public class CommunityGoalReward : CommunityGoalDiscard
{
public long Reward { get; init; }
}
}

View File

@ -0,0 +1,7 @@
namespace Observatory.Framework.Files.Journal
{
public class CrewAssign : CrewFire
{
public string Role { get; init; }
}
}

View File

@ -0,0 +1,8 @@
namespace Observatory.Framework.Files.Journal
{
public class CrewFire : JournalBase
{
public string Name { get; init; }
public long CrewID { get; init; }
}
}

View File

@ -0,0 +1,9 @@
namespace Observatory.Framework.Files.Journal
{
public class CrewHire : CrewFire
{
public string Faction { get; init; }
public long Cost { get; init; }
public int CombatRank { get; init; }
}
}

View File

@ -0,0 +1,12 @@
using System;
namespace Observatory.Framework.Files.Journal
{
[Obsolete("This event was removed in Elite Dangerous 3.0 and will only appear in legacy data.")]
public class EngineerApply : JournalBase
{
public string Engineer { get; init; }
public string Blueprint { get; init; }
public int Level { get; init; }
}
}

View File

@ -0,0 +1,20 @@
using Observatory.Framework.Files.ParameterTypes;
using System.Text.Json.Serialization;
namespace Observatory.Framework.Files.Journal
{
public class EngineerContribution : JournalBase
{
public string Engineer { get; init; }
public long EngineerID { get; init; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public ContributionType Type { get; init; }
public string Commodity { get; init; }
public string Commodity_Localised { get; init; }
public string Material { get; init; }
public string Material_Localised { get; init; }
public string Faction { get; init; }
public int Quantity { get; init; }
public int TotalQuantity { get; init; }
}
}

View File

@ -0,0 +1,26 @@
using Observatory.Framework.Files.Converters;
using Observatory.Framework.Files.ParameterTypes;
using System.Text.Json.Serialization;
using System.Collections.Immutable;
namespace Observatory.Framework.Files.Journal
{
public class EngineerCraft : JournalBase
{
public string Engineer { get; init; }
public long EngineerID { get; init; }
public string Blueprint { get; init; }
public string Slot { get; init; }
public string Module { get; init; }
public long BlueprintID { get; init; }
public string BlueprintName { get; init; }
public string ExperimentalEffect { get; init; }
public string ExperimentalEffect_Localised { get; init; }
public int Level { get; init; }
public float Quality { get; init; }
public string ApplyExperimentalEffect { get; init; }
[JsonConverter(typeof(MaterialConverter))]
public ImmutableList<Material> Ingredients { get; init; }
public ImmutableList<Modifier> Modifiers { get; init; }
}
}

View File

@ -0,0 +1,7 @@
namespace Observatory.Framework.Files.Journal
{
public class EngineerLegacyConvert : EngineerCraft
{
public bool IsPreview { get; init; }
}
}

View File

@ -0,0 +1,17 @@
using Observatory.Framework.Files.ParameterTypes;
using System.Text.Json.Serialization;
using System.Collections.Immutable;
namespace Observatory.Framework.Files.Journal
{
public class EngineerProgress : JournalBase
{
public string Engineer { get; init; }
public int EngineerID { get; init; }
public int Rank { get; init; }
public int RankProgress { get; init; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public ParameterTypes.Progress Progress { get; init; }
public ImmutableList<EngineerType> Engineers { get; init; }
}
}

View File

@ -0,0 +1,14 @@
namespace Observatory.Framework.Files.Journal
{
public class FetchRemoteModule : JournalBase
{
public int ShipID { get; init; }
public int StorageSlot { get; init; }
public string StoredItem { get; init; }
public string StoredItem_Localised { get; init; }
public long ServerId { get; init; }
public long TransferCost { get; init; }
public string Ship { get; init; }
public long TransferTime { get; init; }
}
}

View File

@ -0,0 +1,16 @@
using System.Text.Json.Serialization;
using Observatory.Framework.Files.ParameterTypes;
namespace Observatory.Framework.Files.Journal
{
// TODO: Read market.json file - Will only be valid for most recent market event
public class Market : JournalBase
{
public long MarketID { get; init; }
public string StationName { get; init; }
public string StationType { get; init; }
public string StarSystem { get; init; }
[JsonConverter(typeof(JsonStringEnumConverter))]
public CarrierDockingAccess CarrierDockingAccess { get; init; }
}
}

View File

@ -0,0 +1,13 @@
using Observatory.Framework.Files.ParameterTypes;
using System.Collections.Immutable;
namespace Observatory.Framework.Files.Journal
{
public class MassModuleStore : JournalBase
{
public long MarketID { get; init; }
public string Ship { get; init; }
public ulong ShipID { get; init; }
public ImmutableList<Item> Items { get; init; }
}
}

View File

@ -0,0 +1,12 @@
using Observatory.Framework.Files.ParameterTypes;
namespace Observatory.Framework.Files.Journal
{
public class MaterialTrade : JournalBase
{
public long MarketID { get; init; }
public string TraderType { get; init; }
public TradeDetail Paid { get; init; }
public TradeDetail Received { get; init; }
}
}

View File

@ -0,0 +1,9 @@
namespace Observatory.Framework.Files.Journal
{
public class MissionAbandoned : JournalBase
{
public string Name { get; init; }
public long MissionID { get; init; }
public long Fine { get; init; }
}
}

View File

@ -0,0 +1,55 @@
using Observatory.Framework.Files.Converters;
using Observatory.Framework.Files.ParameterTypes;
using System;
using System.Text.Json.Serialization;
namespace Observatory.Framework.Files.Journal
{
public class MissionAccepted : JournalBase
{
public string Name { get; init; }
public string LocalisedName { get; init; }
public string Faction { get; init; }
public long MissionID { get; init; }
[JsonConverter(typeof(MissionEffectConverter))]
public MissionEffect Influence { get; init; }
[JsonConverter(typeof(MissionEffectConverter))]
public MissionEffect Reputation { get; init; }
public long Reward { get; init; }
public string Commodity { get; init; }
public string Commodity_Localised { get; init; }
public int Count { get; init; }
public string Donation { get; init; }
public int Donated { get; init; }
public string Target { get; init; }
public string Target_Localised { get; init; }
public string TargetType { get; init; }
public string TargetType_Localised { get; init; }
public string TargetFaction { get; init; }
public int KillCount { get; init; }
public string Expiry { get; init; }
public DateTime ExpiryDateTime
{
get
{
if (DateTime.TryParseExact(Expiry, "yyyy-MM-ddTHH:mm:ssZ", null, System.Globalization.DateTimeStyles.AssumeUniversal, out DateTime expiryDateTime))
{
return expiryDateTime;
}
else
{
return new DateTime();
}
}
}
public string DestinationSystem { get; init; }
public string DestinationStation { get; init; }
public string NewDestinationSystem { get; init; }
public string NewDestinationStation { get; init; }
public int PassengerCount { get; init; }
public bool PassengerVIPs { get; init; }
public bool PassengerWanted { get; init; }
public string PassengerType { get; init; }
public bool Wing { get; init; }
}
}

View File

@ -0,0 +1,36 @@
using System.Text.Json.Serialization;
using Observatory.Framework.Files.Converters;
using Observatory.Framework.Files.ParameterTypes;
using System.Collections.Immutable;
namespace Observatory.Framework.Files.Journal
{
public class MissionCompleted : JournalBase
{
public string Name { get; init; }
public string LocalisedName { get; init; }
public string Faction { get; init; }
public long MissionID { get; init; }
public string Commodity { get; init; }
public string Commodity_Localised { get; init; }
public int Count { get; init; }
public string Target { get; init; }
public string Target_Localised { get; init; }
public string TargetType { get; init; }
public string TargetType_Localised { get; init; }
public long Reward { get; init; }
[JsonConverter(typeof(StringIntConverter))]
public int Donation { get; init; }
public long Donated { get; init; }
public ImmutableList<string> PermitsAwarded { get; init; }
public ImmutableList<CommodityReward> CommodityReward { get; init; }
public ImmutableList<MaterialReward> MaterialsReward { get; init; }
public string DestinationSystem { get; init; }
public string DestinationStation { get; init; }
public string NewDestinationSystem { get; init; }
public string NewDestinationStation { get; init; }
public int KillCount { get; init; }
public string TargetFaction { get; init; }
public ImmutableList<FactionEffect> FactionEffects { get; init; }
}
}

View File

@ -0,0 +1,10 @@
namespace Observatory.Framework.Files.Journal
{
public class MissionFailed : JournalBase
{
public string Name { get; init; }
public string Name_Localised { get; init; }
public long MissionID { get; init; }
public long Fine { get; init; }
}
}

View File

@ -0,0 +1,13 @@
namespace Observatory.Framework.Files.Journal
{
public class MissionRedirected : JournalBase
{
public string Name { get; init; }
public string Name_Localised { get; init; }
public long MissionID { get; init; }
public string NewDestinationStation { get; init; }
public string OldDestinationStation { get; init; }
public string NewDestinationSystem { get; init; }
public string OldDestinationSystem { get; init; }
}
}

View File

@ -0,0 +1,18 @@
namespace Observatory.Framework.Files.Journal
{
public class ModuleBuy : JournalBase
{
public long MarketID { get; init; }
public string Slot { get; init; }
public string BuyItem { get; init; }
public string BuyItem_Localised { get; init; }
public int BuyPrice { get; init; }
public string SellItem { get; init; }
public string SellItem_Localised { get; init; }
public int SellPrice { get; init; }
public string StoredItem { get; init; }
public string StoredItem_Localised { get; init; }
public string Ship { get; init; }
public ulong ShipID { get; init; }
}
}

View File

@ -0,0 +1,19 @@
namespace Observatory.Framework.Files.Journal
{
public class ModuleRetrieve : JournalBase
{
public long MarketID { get; init; }
public string Slot { get; init; }
public string Ship { get; init; }
public ulong ShipID { get; init; }
public string RetrievedItem { get; init; }
public string RetrievedItem_Localised { get; init; }
public bool Hot { get; init; }
public string SwapOutItem { get; init; }
public string SwapOutItem_Localised { get; init; }
public string EngineerModifications { get; init; }
public int Level { get; init; }
public float Quality { get; init; }
public int Cost { get; init; }
}
}

View File

@ -0,0 +1,13 @@
namespace Observatory.Framework.Files.Journal
{
public class ModuleSell : JournalBase
{
public long MarketID { get; init; }
public string Slot { get; init; }
public string SellItem { get; init; }
public string SellItem_Localised { get; init; }
public int SellPrice { get; init; }
public string Ship { get; init; }
public ulong ShipID { get; init; }
}
}

View File

@ -0,0 +1,13 @@
namespace Observatory.Framework.Files.Journal
{
public class ModuleSellRemote : JournalBase
{
public int StorageSlot { get; init; }
public string SellItem { get; init; }
public string SellItem_Localised { get; init; }
public long ServerId { get; init; }
public int SellPrice { get; init; }
public string Ship { get; init; }
public ulong ShipID { get; init; }
}
}

View File

@ -0,0 +1,22 @@
using System;
namespace Observatory.Framework.Files.Journal
{
public class ModuleStore : JournalBase
{
public long MarketID { get; init; }
public string Slot { get; init; }
public string Ship { get; init; }
public ulong ShipID { get; init; }
public string StoredItem { get; init; }
public string StoredItem_Localised { get; init; }
public bool Hot { get; init; }
public string EngineerModifications { get; init; }
public int Level { get; init; }
public float Quality { get; init; }
[Obsolete(JournalUtilities.UnusedMessage)]
public string ReplacementItem { get; init; }
[Obsolete(JournalUtilities.UnusedMessage)]
public int Cost { get; init; }
}
}

View File

@ -0,0 +1,15 @@
namespace Observatory.Framework.Files.Journal
{
public class ModuleSwap : JournalBase
{
public long MarketID { get; init; }
public string FromSlot { get; init; }
public string ToSlot { get; init; }
public string FromItem { get; init; }
public string FromItem_Localised { get; init; }
public string ToItem { get; init; }
public string ToItem_Localised { get; init; }
public string Ship { get; init; }
public ulong ShipID { get; init; }
}
}

View File

@ -0,0 +1,9 @@
namespace Observatory.Framework.Files.Journal
{
public class Outfitting : JournalBase
{
public long MarketID { get; init; }
public string StationName { get; init; }
public string StarSystem { get; init; }
}
}

View File

@ -0,0 +1,12 @@
namespace Observatory.Framework.Files.Journal
{
public class PayBounties : JournalBase
{
public long Amount { get; init; }
public float BrokerPercentage { get; init; }
public bool AllFines { get; init; }
public string Faction { get; init; }
public string Faction_Localised { get; init; }
public ulong ShipID { get; init; }
}
}

View File

@ -0,0 +1,6 @@
namespace Observatory.Framework.Files.Journal
{
public class PayFines : PayBounties
{
}
}

View File

@ -0,0 +1,11 @@
using System;
namespace Observatory.Framework.Files.Journal
{
[Obsolete(JournalUtilities.ObsoleteMessage)]
public class PayLegacyFines : JournalBase
{
public long Amount { get; init; }
public float BrokerPercentage { get; init; }
}
}

View File

@ -0,0 +1,18 @@
using System.Text.Json.Serialization;
using Observatory.Framework.Files.Converters;
using Observatory.Framework.Files.ParameterTypes;
using System.Collections.Immutable;
namespace Observatory.Framework.Files.Journal
{
public class RedeemVoucher : JournalBase
{
[JsonConverter(typeof(VoucherTypeConverter))]
public VoucherType Type { get; init; }
public long Amount { get; init; }
public string Faction { get; init; }
public float BrokerPercentage { get; init; }
public ImmutableList<VoucherFaction> Factions { get; init; }
}
}

View File

@ -0,0 +1,8 @@
namespace Observatory.Framework.Files.Journal
{
public class RefuelAll : JournalBase
{
public int Cost { get; init; }
public float Amount { get; init; }
}
}

View File

@ -0,0 +1,7 @@
namespace Observatory.Framework.Files.Journal
{
public class RefuelPartial : RefuelAll
{
}
}

View File

@ -0,0 +1,11 @@
using System.Collections.Immutable;
namespace Observatory.Framework.Files.Journal
{
public class Repair : JournalBase
{
public string Item { get; init; }
public int Cost { get; init; }
public ImmutableList<string> Items { get; init; }
}
}

View File

@ -0,0 +1,7 @@
namespace Observatory.Framework.Files.Journal
{
public class RepairAll : JournalBase
{
public int Cost { get; init; }
}
}

View File

@ -0,0 +1,10 @@
namespace Observatory.Framework.Files.Journal
{
public class RestockVehicle : JournalBase
{
public string Type { get; init; }
public string Loadout { get; init; }
public int Cost { get; init; }
public int Count { get; init; }
}
}

View File

@ -0,0 +1,10 @@
namespace Observatory.Framework.Files.Journal
{
public class ScientificResearch : JournalBase
{
public long MarketID { get; init; }
public string Name { get; init; }
public string Category { get; init; }
public int Count { get; init; }
}
}

View File

@ -0,0 +1,11 @@
namespace Observatory.Framework.Files.Journal
{
public class SearchAndRescue : JournalBase
{
public long MarketID { get; init; }
public string Name { get; init; }
public string Name_Localised { get; init; }
public int Count { get; init; }
public int Reward { get; init; }
}
}

View File

@ -0,0 +1,10 @@
namespace Observatory.Framework.Files.Journal
{
public class SellDrones : JournalBase
{
public string Type { get; init; }
public int Count { get; init; }
public int SellPrice { get; init; }
public int TotalSale { get; init; }
}
}

View File

@ -0,0 +1,10 @@
namespace Observatory.Framework.Files.Journal
{
public class SellShipOnRebuy : JournalBase
{
public string ShipType { get; init; }
public string System { get; init; }
public int SellShipId { get; init; }
public long ShipPrice { get; init; }
}
}

View File

@ -0,0 +1,10 @@
namespace Observatory.Framework.Files.Journal
{
public class SetUserShipName : JournalBase
{
public string Ship { get; init; }
public ulong ShipID { get; init; }
public string UserShipName { get; init; }
public string UserShipId { get; init; }
}
}

View File

@ -0,0 +1,9 @@
namespace Observatory.Framework.Files.Journal
{
public class Shipyard : JournalBase
{
public long MarketID { get; init; }
public string StationName { get; init; }
public string StarSystem { get; init; }
}
}

View File

@ -0,0 +1,15 @@
namespace Observatory.Framework.Files.Journal
{
public class ShipyardBuy : JournalBase
{
public long MarketID { get; init; }
public string ShipType { get; init; }
public string ShipType_Localised { get; init; }
public long ShipPrice { get; init; }
public string StoreOldShip { get; init; }
public int StoreShipID { get; init; }
public string SellOldShip { get; init; }
public int SellShipID { get; init; }
public long SellPrice { get; init; }
}
}

View File

@ -0,0 +1,9 @@
namespace Observatory.Framework.Files.Journal
{
public class ShipyardNew : JournalBase
{
public string ShipType { get; init; }
public string ShipType_Localised { get; init; }
public int NewShipID { get; init; }
}
}

View File

@ -0,0 +1,11 @@
namespace Observatory.Framework.Files.Journal
{
public class ShipyardSell : JournalBase
{
public long MarketID { get; init; }
public string ShipType { get; init; }
public int SellShipID { get; init; }
public long ShipPrice { get; init; }
public string System { get; init; }
}
}

View File

@ -0,0 +1,14 @@
namespace Observatory.Framework.Files.Journal
{
public class ShipyardSwap : JournalBase
{
public long MarketID { get; init; }
public string ShipType { get; init; }
public string ShipType_Localised { get; init; }
public ulong ShipID { get; init; }
public string StoreOldShip { get; init; }
public ulong StoreShipID { get; init; }
public string SellOldShip { get; init; }
public ulong SellShipID { get; init; }
}
}

View File

@ -0,0 +1,15 @@
namespace Observatory.Framework.Files.Journal
{
public class ShipyardTransfer : JournalBase
{
public long MarketID { get; init; }
public string ShipType { get; init; }
public string ShipType_Localised { get; init; }
public ulong ShipID { get; init; }
public string System { get; init; }
public long ShipMarketID { get; init; }
public float Distance { get; init; }
public int TransferPrice { get; init; }
public long TransferTime { get; init; }
}
}

View File

@ -0,0 +1,13 @@
using Observatory.Framework.Files.ParameterTypes;
using System.Collections.Immutable;
namespace Observatory.Framework.Files.Journal
{
public class StoredModules : JournalBase
{
public string StarSystem { get; init; }
public string StationName { get; init; }
public long MarketID { get; init; }
public ImmutableList<StoredItem> Items { get; init; }
}
}

View File

@ -0,0 +1,14 @@
using Observatory.Framework.Files.ParameterTypes;
using System.Collections.Immutable;
namespace Observatory.Framework.Files.Journal
{
public class StoredShips : JournalBase
{
public long MarketID { get; init; }
public string StationName { get; init; }
public string StarSystem { get; init; }
public ImmutableList<StoredShip> ShipsHere { get; init; }
public ImmutableList<StoredShip> ShipsRemote { get; init; }
}
}

View File

@ -0,0 +1,14 @@
using Observatory.Framework.Files.ParameterTypes;
using System.Collections.Immutable;
namespace Observatory.Framework.Files.Journal
{
public class TechnologyBroker : JournalBase
{
public string BrokerType { get; init; }
public long MarketID { get; init; }
public ImmutableList<ItemName> ItemsUnlocked { get; init; }
public ImmutableList<CommodityReward> Commodities { get; init; }
public ImmutableList<MaterialReward> Materials { get; init; }
}
}