Starsector API
Loading...
Searching...
No Matches
FactionProductionAPI.java
Go to the documentation of this file.
1package com.fs.starfarer.api.campaign;
2
3import java.util.List;
4
5import com.fs.starfarer.api.campaign.econ.MarketAPI;
6import com.fs.starfarer.api.combat.ShipHullSpecAPI;
7import com.fs.starfarer.api.loading.FighterWingSpecAPI;
8import com.fs.starfarer.api.loading.WeaponSpecAPI;
9
10public interface FactionProductionAPI {
11
12 public static enum ProductionItemType {
13 SHIP,
14 FIGHTER,
15 WEAPON
16 }
17
18 public interface ItemInProductionAPI {
19 FighterWingSpecAPI getWingSpec();
20 WeaponSpecAPI getWeaponSpec();
21 ShipHullSpecAPI getShipSpec();
24 ProductionItemType getType();
25 void setType(ProductionItemType type);
26 String getSpecId();
27 void setSpecId(String specId);
29 void setBuildDelay(float buildDelay);
31 void setTimeInterrupted(float timeInterrupted);
33 void setQuantity(int quantity);
34 }
35
41
42 boolean addItem(ProductionItemType type, String specId);
43 boolean addItem(ProductionItemType type, String specId, int quantity);
44 void removeItem(ProductionItemType type, String specId, int count);
45 int getCount(ProductionItemType type, String specId);
46
47 List<ItemInProductionAPI> getInterrupted();
48 List<ItemInProductionAPI> getCurrent();
50
52
53 int getUnitCost(ProductionItemType type, String specId);
54
55 void clear();
56
57 MarketAPI getGatheringPoint();
58 void setGatheringPoint(MarketAPI gatheringPoint);
59
61 void setAccruedProduction(int accruedProduction);
62
63 float getProductionCapacityForMarket(MarketAPI market);
64
65 float getCostMult();
66 void setCostMult(float costMult);
67
68 ItemInProductionAPI createSampleItem(ProductionItemType type, String specId, int quantity);
69
71
72 boolean addItem(ProductionItemType type, String specId, int quantity, int maxQuantity);
73
74}
int getCount(ProductionItemType type, String specId)
boolean addItem(ProductionItemType type, String specId, int quantity)
float getProductionCapacityForMarket(MarketAPI market)
List< ItemInProductionAPI > getInterrupted()
void setGatheringPoint(MarketAPI gatheringPoint)
ItemInProductionAPI createSampleItem(ProductionItemType type, String specId, int quantity)
int getUnitCost(ProductionItemType type, String specId)
boolean addItem(ProductionItemType type, String specId, int quantity, int maxQuantity)
void setAccruedProduction(int accruedProduction)
boolean addItem(ProductionItemType type, String specId)
void removeItem(ProductionItemType type, String specId, int count)