001package com.fs.starfarer.api.loading;
002
003import java.util.List;
004import java.util.Set;
005
006import com.fs.starfarer.api.combat.MutableShipStatsAPI;
007import com.fs.starfarer.api.combat.ShipVariantAPI;
008
009public interface FighterWingSpecAPI extends WithSourceMod {
010
011        boolean isBomber();
012        boolean isAssault();
013        boolean isSupport();
014        boolean isInterceptor();
015        boolean isRegularFighter();
016        WingRole getRole();
017        void setRole(WingRole role);
018        FormationType getFormation();
019        void setFormation(FormationType formation);
020        String getId();
021        void setId(String id);
022        int getNumFighters();
023        void setNumFighters(int numFighters);
024        String getVariantId();
025        void setVariantId(String variantId);
026        float getRefitTime();
027        void setRefitTime(float refitTime);
028        int getFleetPoints();
029        void setFleetPoints(int fleetPoints);
030        float getBaseValue();
031        void setBaseValue(float baseValue);
032        ShipVariantAPI getVariant();
033        float getAttackRunRange();
034        void setAttackRunRange(float attackRunRange);
035        Set<String> getTags();
036        void addTag(String tag);
037        boolean hasTag(String tag);
038        int getTier();
039        void setTier(int tier);
040        String getRoleDesc();
041        void setRoleDesc(String roleDesc);
042        float getRarity();
043        void setRarity(float rarity);
044        String getWingName();
045        String getAutofitCategory();
046        List<String> getAutofitCategoriesInPriorityOrder();
047        
048        float getAttackPositionOffset();
049        void setAttackPositionOffset(float attackPositionOffset);
050        
051        //float getOpCost();
052        void setOpCost(float opCost);
053        float getOpCost(MutableShipStatsAPI shipStats);
054        void resetAutofitPriorityCategories();
055        float getRange();
056        void setRange(float range);
057
058}
059
060