001package com.fs.starfarer.api.loading;
002
003import java.util.Set;
004
005import com.fs.starfarer.api.campaign.econ.Industry;
006import com.fs.starfarer.api.campaign.econ.MarketAPI;
007import com.fs.starfarer.api.impl.campaign.rulecmd.salvage.MarketCMD.RaidDangerLevel;
008
009public interface IndustrySpecAPI extends WithSourceMod {
010
011        String getId();
012        void setId(String id);
013        
014        Industry getNewPluginInstance(MarketAPI market);
015        String getPluginClass();
016        void setPluginClass(String effectClass);
017        Set<String> getTags();
018        void addTag(String tag);
019        boolean hasTag(String tag);
020        String getName();
021        String getDesc();
022        void setDesc(String desc);
023        float getCost();
024        void setCost(float costMult);
025        float getBuildTime();
026        void setBuildTime(float buildTime);
027        float getUpkeep();
028        void setUpkeep(float upkeep);
029        float getIncome();
030        void setIncome(float income);
031        String getImageName();
032        void setImageName(String imageName);
033        void setName(String name);
034        String getUpgrade();
035        void setUpgrade(String upgrade);
036        String getDowngrade();
037        void setDowngrade(String downgrade);
038        int getOrder();
039        void setOrder(int order);
040        Industry getDowngradePluginInstance(MarketAPI market);
041        Industry getUpgradePluginInstance(MarketAPI market);
042        String getData();
043        void setData(String data);
044        RaidDangerLevel getDisruptDanger();
045        void setDisruptDanger(RaidDangerLevel disruptDanger);
046
047}