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