001package com.fs.starfarer.api.campaign;
002
003import java.awt.Color;
004import java.util.List;
005
006import com.fs.starfarer.api.ui.Alignment;
007
008
009public interface ResourceCostPanelAPI {
010        public static interface ResourceColorGetter {
011                public Color getColorFor(String commodityId, CargoAPI cargo);
012        }
013        
014        boolean isNumberOnlyMode();
015        void setNumberOnlyMode(boolean numberOnlyMode);
016        boolean isWithBorder();
017        void setWithBorder(boolean withBorder);
018        boolean isEnabled();
019        void setEnabled(boolean enabled);
020        
021        void showResources(CargoAPI cargo, Color color, List<String> commodities, ResourceColorGetter colorGetter);
022        void addCost(String commodityId, int quantity, Color color);
023        void addOrUpdateCost(String commodityId, int quantity, Color color);
024        void flashCost(String commodityId);
025        void update();
026        
027        Alignment getAlignment();
028        
029        /**
030         * Only MID, LMID, and RMID are supported. 
031         * @param alignment
032         */
033        void setAlignment(Alignment alignment);
034        void setSecondTitle(String secondTitle);
035        void setSecondTitleColor(Color secondTitleColor);
036        void addOrUpdateCost(String commodityId, int quantity);
037        void addCost(String commodityId, int quantity);
038        void setComWidthOverride(float comWidthOverride);
039        
040        void addCost(String commodityId, String text);
041        void addCost(String commodityId, String text, Color color);
042        void setLastCostConsumed(boolean consumed);
043
044}