46 lines
1.1 KiB
C#
46 lines
1.1 KiB
C#
|
|
using EDPlayerJournal.Entries;
|
|
|
|
namespace EDPlayerJournal.BGS;
|
|
|
|
public class OrganicData : Transaction {
|
|
public OrganicData() { }
|
|
|
|
public OrganicData(SellOrganicDataEntry e) {
|
|
Entries.Add(e);
|
|
}
|
|
|
|
public long TotalValue {
|
|
get {
|
|
return Entries.OfType<SellOrganicDataEntry>().Sum(x => x.TotalValue);
|
|
}
|
|
}
|
|
|
|
public override int CompareTo(Transaction? other) {
|
|
if (other == null || other.GetType() != typeof(OrganicData)) {
|
|
return -1;
|
|
}
|
|
|
|
if (other?.Faction == Faction &&
|
|
other?.System == System &&
|
|
other?.Station == Station) {
|
|
return 0;
|
|
}
|
|
|
|
return -1;
|
|
}
|
|
|
|
public override string ToString() {
|
|
return string.Format("Sold {0} worth of organic data to Vista Genomics",
|
|
Credits.FormatCredits(TotalValue)
|
|
);
|
|
}
|
|
|
|
/* Selling organic data only helps the controlling faction, just like
|
|
* selling cartographic data.
|
|
*
|
|
* Right now: Organic data helps no one.
|
|
*/
|
|
public override bool OnlyControllingFaction => true;
|
|
}
|