public class BaseSubmarketPlugin extends java.lang.Object implements SubmarketPlugin
Modifier and Type | Class and Description |
---|---|
static class |
BaseSubmarketPlugin.ShipSalesData |
SubmarketPlugin.DialogOption, SubmarketPlugin.OnClickAction, SubmarketPlugin.PlayerEconomyImpactMode, SubmarketPlugin.TransferAction
Modifier and Type | Field and Description |
---|---|
protected CargoAPI |
cargo |
protected java.util.Random |
itemGenRandom |
protected MarketAPI |
market |
protected float |
minSWUpdateInterval |
protected float |
sinceLastCargoUpdate |
protected float |
sinceSWUpdate |
protected SubmarketAPI |
submarket |
static float |
TRADE_IMPACT_DAYS |
Constructor and Description |
---|
BaseSubmarketPlugin() |
Modifier and Type | Method and Description |
---|---|
void |
addAllCargo(CargoAPI otherCargo) |
void |
addAndRemoveStockpiledResources(CommodityOnMarketAPI com,
float amount,
boolean withShortageCountering,
boolean withDecreaseToLimit,
boolean withCargoUpdate) |
void |
addAndRemoveStockpiledResources(float amount,
boolean withShortageCountering,
boolean withDecreaseToLimit,
boolean withCargoUpdate) |
protected void |
addFighters(int min,
int max,
int maxTier,
java.lang.String factionId) |
protected void |
addFighters(int min,
int max,
int maxTier,
WeightedRandomPicker<java.lang.String> factionPicker) |
protected void |
addHullMods(int maxTier,
int num) |
protected void |
addHullMods(int maxTier,
int num,
java.lang.String factionId) |
protected FleetMemberAPI |
addShip(java.lang.String variantOrWingId,
boolean withDmods,
float quality) |
void |
addShips(java.lang.String factionId,
float combat,
float freighter,
float tanker,
float transport,
float liner,
float utility,
java.lang.Float qualityOverride,
float qualityMod,
FactionAPI.ShipPickMode modeOverride,
FactionDoctrineAPI doctrineOverride) |
void |
addShips(java.lang.String factionId,
float combat,
float freighter,
float tanker,
float transport,
float liner,
float utility,
java.lang.Float qualityOverride,
float qualityMod,
FactionAPI.ShipPickMode modeOverride,
FactionDoctrineAPI doctrineOverride,
int maxShipSize) |
protected void |
addWeapons(int min,
int max,
int maxTier,
java.lang.String factionId) |
protected void |
addWeapons(int min,
int max,
int maxTier,
java.lang.String factionId,
boolean withCategories) |
protected void |
addWeapons(int min,
int max,
int maxTier,
WeightedRandomPicker<java.lang.String> factionPicker) |
protected void |
addWeapons(int min,
int max,
int maxTier,
WeightedRandomPicker<java.lang.String> factionPicker,
boolean withCategories) |
void |
advance(float amount) |
protected boolean |
cargoAlreadyHasMod(java.lang.String id) |
void |
createTooltip(CoreUIAPI ui,
TooltipMakerAPI tooltip,
boolean expanded) |
protected void |
createTooltipAfterDescription(TooltipMakerAPI tooltip,
boolean expanded) |
protected boolean |
doShortageCountering(CommodityOnMarketAPI com,
float amount,
boolean withShortageCountering) |
java.lang.String |
getBuyVerb() |
CargoAPI |
getCargo() |
CargoAPI |
getCargoNullOk() |
SubmarketPlugin.DialogOption[] |
getDialogOptions(CoreUIAPI ui) |
java.lang.String |
getDialogText(CoreUIAPI ui) |
Highlights |
getDialogTextHighlights(CoreUIAPI ui) |
java.lang.String |
getIllegalTransferText(CargoStackAPI stack,
SubmarketPlugin.TransferAction action) |
java.lang.String |
getIllegalTransferText(FleetMemberAPI member,
SubmarketPlugin.TransferAction action) |
Highlights |
getIllegalTransferTextHighlights(CargoStackAPI stack,
SubmarketPlugin.TransferAction action) |
Highlights |
getIllegalTransferTextHighlights(FleetMemberAPI member,
SubmarketPlugin.TransferAction action) |
MarketAPI |
getMarket() |
float |
getMinSWUpdateInterval() |
java.lang.String |
getName() |
SubmarketPlugin.OnClickAction |
getOnClickAction(CoreUIAPI ui) |
SubmarketPlugin.PlayerEconomyImpactMode |
getPlayerEconomyImpactMode() |
float |
getPlayerTradeImpactMult() |
java.lang.String |
getSellVerb() |
float |
getSinceLastCargoUpdate() |
float |
getSinceSWUpdate() |
int |
getStockpileLimit(CommodityOnMarketAPI com) |
float |
getStockpilingAddRateMult(CommodityOnMarketAPI com) |
SubmarketAPI |
getSubmarket() |
float |
getTariff()
Fraction of value that gets used as tariff.
|
java.lang.String |
getTariffTextOverride() |
java.lang.String |
getTariffValueOverride() |
java.lang.String |
getTooltipAppendix(CoreUIAPI ui) |
Highlights |
getTooltipAppendixHighlights(CoreUIAPI ui) |
float |
getTooltipWidth() |
java.lang.String |
getTotalTextOverride() |
java.lang.String |
getTotalValueOverride() |
boolean |
hasCustomTooltip() |
void |
init(SubmarketAPI submarket) |
boolean |
isBlackMarket() |
boolean |
isEnabled(CoreUIAPI ui) |
boolean |
isFreeTransfer() |
boolean |
isHidden() |
boolean |
isIllegalOnSubmarket(CargoStackAPI stack,
SubmarketPlugin.TransferAction action) |
boolean |
isIllegalOnSubmarket(FleetMemberAPI member,
SubmarketPlugin.TransferAction action) |
boolean |
isIllegalOnSubmarket(java.lang.String commodityId,
SubmarketPlugin.TransferAction action) |
boolean |
isMilitaryMarket() |
boolean |
isOpenMarket() |
boolean |
isParticipatesInEconomy()
Whether transactions with this submarket affect the market's supply/demand and
result in reputation changes for the player.
|
boolean |
isTooltipExpandable() |
boolean |
okToUpdateShipsAndWeapons() |
protected void |
pickAndAddWeapons(WeightedRandomPicker<WeaponSpecAPI> picker) |
protected void |
pruneShips(float mult) |
protected void |
pruneWeapons(float keepFraction) |
protected java.lang.Object |
readResolve() |
protected boolean |
removeModFromCargo(java.lang.String id) |
void |
reportPlayerMarketTransaction(PlayerMarketTransaction transaction) |
void |
setCargo(CargoAPI cargo) |
void |
setMinSWUpdateInterval(float minCargoUpdateInterval) |
void |
setSinceLastCargoUpdate(float sinceLastCargoUpdate) |
void |
setSinceSWUpdate(float sinceSWUpdate) |
boolean |
shouldHaveCommodity(CommodityOnMarketAPI com) |
boolean |
showInCargoScreen() |
boolean |
showInFleetScreen() |
void |
updateCargoPrePlayerInteraction() |
public static float TRADE_IMPACT_DAYS
protected MarketAPI market
protected SubmarketAPI submarket
protected CargoAPI cargo
protected float minSWUpdateInterval
protected float sinceSWUpdate
protected float sinceLastCargoUpdate
protected java.util.Random itemGenRandom
public void init(SubmarketAPI submarket)
init
in interface SubmarketPlugin
protected java.lang.Object readResolve()
public java.lang.String getName()
getName
in interface SubmarketPlugin
public CargoAPI getCargo()
getCargo
in interface SubmarketPlugin
public CargoAPI getCargoNullOk()
getCargoNullOk
in interface SubmarketPlugin
public void setCargo(CargoAPI cargo)
public void updateCargoPrePlayerInteraction()
updateCargoPrePlayerInteraction
in interface SubmarketPlugin
public void advance(float amount)
advance
in interface SubmarketPlugin
public boolean okToUpdateShipsAndWeapons()
okToUpdateShipsAndWeapons
in interface SubmarketPlugin
public void addAllCargo(CargoAPI otherCargo)
addAllCargo
in interface SubmarketPlugin
public float getTariff()
SubmarketPlugin
getTariff
in interface SubmarketPlugin
public java.lang.String getBuyVerb()
getBuyVerb
in interface SubmarketPlugin
public java.lang.String getSellVerb()
getSellVerb
in interface SubmarketPlugin
public boolean isFreeTransfer()
isFreeTransfer
in interface SubmarketPlugin
public boolean isEnabled(CoreUIAPI ui)
isEnabled
in interface SubmarketPlugin
public SubmarketPlugin.OnClickAction getOnClickAction(CoreUIAPI ui)
getOnClickAction
in interface SubmarketPlugin
public java.lang.String getDialogText(CoreUIAPI ui)
getDialogText
in interface SubmarketPlugin
public Highlights getDialogTextHighlights(CoreUIAPI ui)
getDialogTextHighlights
in interface SubmarketPlugin
public SubmarketPlugin.DialogOption[] getDialogOptions(CoreUIAPI ui)
getDialogOptions
in interface SubmarketPlugin
public java.lang.String getTooltipAppendix(CoreUIAPI ui)
getTooltipAppendix
in interface SubmarketPlugin
public Highlights getTooltipAppendixHighlights(CoreUIAPI ui)
getTooltipAppendixHighlights
in interface SubmarketPlugin
public SubmarketPlugin.PlayerEconomyImpactMode getPlayerEconomyImpactMode()
getPlayerEconomyImpactMode
in interface SubmarketPlugin
public float getPlayerTradeImpactMult()
getPlayerTradeImpactMult
in interface SubmarketPlugin
public void reportPlayerMarketTransaction(PlayerMarketTransaction transaction)
reportPlayerMarketTransaction
in interface SubmarketPlugin
public boolean isMilitaryMarket()
isMilitaryMarket
in interface SubmarketPlugin
public boolean isBlackMarket()
isBlackMarket
in interface SubmarketPlugin
public boolean isOpenMarket()
isOpenMarket
in interface SubmarketPlugin
public boolean isParticipatesInEconomy()
SubmarketPlugin
isParticipatesInEconomy
in interface SubmarketPlugin
public boolean isIllegalOnSubmarket(java.lang.String commodityId, SubmarketPlugin.TransferAction action)
isIllegalOnSubmarket
in interface SubmarketPlugin
public boolean isIllegalOnSubmarket(CargoStackAPI stack, SubmarketPlugin.TransferAction action)
isIllegalOnSubmarket
in interface SubmarketPlugin
public java.lang.String getIllegalTransferText(CargoStackAPI stack, SubmarketPlugin.TransferAction action)
getIllegalTransferText
in interface SubmarketPlugin
public boolean isIllegalOnSubmarket(FleetMemberAPI member, SubmarketPlugin.TransferAction action)
isIllegalOnSubmarket
in interface SubmarketPlugin
public java.lang.String getIllegalTransferText(FleetMemberAPI member, SubmarketPlugin.TransferAction action)
getIllegalTransferText
in interface SubmarketPlugin
protected void addFighters(int min, int max, int maxTier, WeightedRandomPicker<java.lang.String> factionPicker)
protected void addWeapons(int min, int max, int maxTier, java.lang.String factionId)
protected void addWeapons(int min, int max, int maxTier, java.lang.String factionId, boolean withCategories)
protected void addWeapons(int min, int max, int maxTier, WeightedRandomPicker<java.lang.String> factionPicker)
protected void addWeapons(int min, int max, int maxTier, WeightedRandomPicker<java.lang.String> factionPicker, boolean withCategories)
protected void pickAndAddWeapons(WeightedRandomPicker<WeaponSpecAPI> picker)
protected void addFighters(int min, int max, int maxTier, java.lang.String factionId)
protected void pruneWeapons(float keepFraction)
public void addShips(java.lang.String factionId, float combat, float freighter, float tanker, float transport, float liner, float utility, java.lang.Float qualityOverride, float qualityMod, FactionAPI.ShipPickMode modeOverride, FactionDoctrineAPI doctrineOverride)
public void addShips(java.lang.String factionId, float combat, float freighter, float tanker, float transport, float liner, float utility, java.lang.Float qualityOverride, float qualityMod, FactionAPI.ShipPickMode modeOverride, FactionDoctrineAPI doctrineOverride, int maxShipSize)
protected FleetMemberAPI addShip(java.lang.String variantOrWingId, boolean withDmods, float quality)
protected void pruneShips(float mult)
protected void addHullMods(int maxTier, int num)
protected void addHullMods(int maxTier, int num, java.lang.String factionId)
protected boolean removeModFromCargo(java.lang.String id)
protected boolean cargoAlreadyHasMod(java.lang.String id)
public Highlights getIllegalTransferTextHighlights(CargoStackAPI stack, SubmarketPlugin.TransferAction action)
getIllegalTransferTextHighlights
in interface SubmarketPlugin
public Highlights getIllegalTransferTextHighlights(FleetMemberAPI member, SubmarketPlugin.TransferAction action)
getIllegalTransferTextHighlights
in interface SubmarketPlugin
public float getMinSWUpdateInterval()
public void setMinSWUpdateInterval(float minCargoUpdateInterval)
public float getSinceLastCargoUpdate()
public void setSinceLastCargoUpdate(float sinceLastCargoUpdate)
public float getSinceSWUpdate()
public void setSinceSWUpdate(float sinceSWUpdate)
public boolean hasCustomTooltip()
hasCustomTooltip
in interface SubmarketPlugin
public void createTooltip(CoreUIAPI ui, TooltipMakerAPI tooltip, boolean expanded)
createTooltip
in interface SubmarketPlugin
protected void createTooltipAfterDescription(TooltipMakerAPI tooltip, boolean expanded)
public boolean isTooltipExpandable()
isTooltipExpandable
in interface SubmarketPlugin
public float getTooltipWidth()
getTooltipWidth
in interface SubmarketPlugin
public boolean isHidden()
isHidden
in interface SubmarketPlugin
public boolean showInFleetScreen()
showInFleetScreen
in interface SubmarketPlugin
public boolean showInCargoScreen()
showInCargoScreen
in interface SubmarketPlugin
public MarketAPI getMarket()
public SubmarketAPI getSubmarket()
getSubmarket
in interface SubmarketPlugin
public int getStockpileLimit(CommodityOnMarketAPI com)
public float getStockpilingAddRateMult(CommodityOnMarketAPI com)
public boolean shouldHaveCommodity(CommodityOnMarketAPI com)
public void addAndRemoveStockpiledResources(float amount, boolean withShortageCountering, boolean withDecreaseToLimit, boolean withCargoUpdate)
protected boolean doShortageCountering(CommodityOnMarketAPI com, float amount, boolean withShortageCountering)
public void addAndRemoveStockpiledResources(CommodityOnMarketAPI com, float amount, boolean withShortageCountering, boolean withDecreaseToLimit, boolean withCargoUpdate)
public java.lang.String getTariffTextOverride()
getTariffTextOverride
in interface SubmarketPlugin
public java.lang.String getTariffValueOverride()
getTariffValueOverride
in interface SubmarketPlugin
public java.lang.String getTotalTextOverride()
getTotalTextOverride
in interface SubmarketPlugin
public java.lang.String getTotalValueOverride()
getTotalValueOverride
in interface SubmarketPlugin
Copyright © 2013 Fractal Softworks, LLC. All Rights Reserved.