Starsector API
Loading...
Searching...
No Matches
ShipBlueprintOfferCreator.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.intel.bar.events.historian;
2
3import java.util.ArrayList;
4import java.util.List;
5import java.util.Set;
6
7import com.fs.starfarer.api.Global;
8import com.fs.starfarer.api.campaign.SectorEntityToken;
9import com.fs.starfarer.api.combat.ShipHullSpecAPI;
10import com.fs.starfarer.api.impl.campaign.intel.bar.events.historian.HistorianData.HistorianOffer;
11
13
15 super(frequency);
16 }
17
18 @Override
19 protected BaseHistorianOfferWithLocation createOffer(SectorEntityToken entity, String data) {
20 return new ShipBlueprintOffer(entity, data);
21 }
22
23 @Override
24 protected List<Object> getAllSpecs() {
25 return new ArrayList<Object>(Global.getSettings().getAllShipHullSpecs());
26 }
27
28 @Override
29 protected String getAlreadyUsedIdFromOffer(HistorianOffer offer) {
30 if (offer instanceof ShipBlueprintOffer) {
32 return sbo.getData();
33 }
34 return null;
35 }
36
37 @Override
38 protected String getIdForSpec(Object spec) {
39 return ((ShipHullSpecAPI) spec).getHullId();
40 }
41
42 @Override
43 protected Set<String> getTagsForSpec(Object spec) {
44 return ((ShipHullSpecAPI) spec).getTags();
45 }
46
47 @Override
48 protected float getRarityForSpec(Object spec) {
49 return ((ShipHullSpecAPI) spec).getRarity();
50 }
51
52 @Override
53 protected boolean playerKnowsSpecAlready(String id) {
54 return Global.getSector().getPlayerFaction().knowsShip(id);
55 }
56
57 protected float getProbabilityRuins() {
58 return super.getProbabilityRuins();
59 }
60
61 public static String PREFIX = "ship_";
62 @Override
63 public String getOfferId(BaseHistorianOffer offer) {
64 if (offer instanceof ShipBlueprintOffer) {
65 return PREFIX + ((ShipBlueprintOffer)offer).getData();
66 }
67 return null;
68 }
69
70 @Override
71 public String getBlueprintIdFromOfferId(String offerId) {
72 if (offerId.startsWith(PREFIX)) {
73 return offerId.replaceAll(PREFIX, "");
74 }
75 return null;
76 }
77
78}
79
80
81
82
83
84
85
static SettingsAPI getSettings()
Definition Global.java:51
static SectorAPI getSector()
Definition Global.java:59
BaseHistorianOfferWithLocation createOffer(SectorEntityToken entity, String data)
List< ShipHullSpecAPI > getAllShipHullSpecs()