001package com.fs.starfarer.api.combat;
002
003import java.util.List;
004
005import com.fs.starfarer.api.fleet.FleetMemberAPI;
006
007public interface CombatUIAPI {
008        /**
009         * Params define the message segments.
010         * 
011         * Can be:
012         * Strings - for text
013         * FleetMemberAPI, DeployedFleetMemberAPI, ShipAPI - for ship/wing icons
014         * BattleObjectiveAPI - for objective icons
015         * java.awt.Color - to set the color of subsequent text segments
016         * 
017         * 
018         * 
019         * @param newLineIndentIndex indentation after line wrap, if any occurs, in *message segments*.
020         * @param params
021         */
022        void addMessage(int newLineIndentIndex, Object ... params);
023
024        boolean isShowingCommandUI();
025
026        float getCommandUIOpacity();
027
028        CombatEntityAPI getEntityToFollowV2();
029
030        boolean isShowingDeploymentDialog();
031        List<FleetMemberAPI> getCurrentlySelectedInFleetDeploymentDialog();
032
033        boolean isAutopilotOn();
034
035        void setDisablePlayerShipControlOneFrame(boolean disablePlayerShipControlOneFrame);
036
037        boolean isDisablePlayerShipControlOneFrame();
038
039        void setShipInfoFanOutBrightness(float b);
040
041        void reFanOutShipInfo();
042
043        void hideShipInfo();
044
045        boolean areWeaponArcsOn();
046
047        List<ShipAPI> getAllTargetReticleTargets();
048        ShipAPI getMainTargetReticleTarget();
049
050        boolean isStrafeToggledOn();
051        void setStrafeToggledOn(boolean strafeToggledOn);
052}