001package com.fs.starfarer.api.campaign; 002 003import java.util.Set; 004 005import java.awt.Color; 006 007import com.fs.starfarer.api.InteractionDialogImageVisual; 008import com.fs.starfarer.api.campaign.CampaignUIAPI.CoreUITradeMode; 009import com.fs.starfarer.api.characters.CharacterCreationData; 010import com.fs.starfarer.api.characters.PersonAPI; 011import com.fs.starfarer.api.fleet.FleetMemberAPI; 012import com.fs.starfarer.api.ui.CustomPanelAPI; 013 014public interface VisualPanelAPI { 015 void setVisualFade(float in, float out); 016 017 void showFleetInfo(String titleOne, CampaignFleetAPI one, String titleTwo, CampaignFleetAPI two); 018 void showFleetInfo(String titleOne, CampaignFleetAPI one, String titleTwo, CampaignFleetAPI two, FleetEncounterContextPlugin context); 019 void showPersonInfo(PersonAPI person); 020 void showSecondPerson(PersonAPI person); 021 void hideSecondPerson(); 022 void hideRankNamePost(); 023 024 void showPlanetInfo(SectorEntityToken planet); 025 void showFleetMemberInfo(FleetMemberAPI member); 026 027 void showImagePortion(String category, String id, 028 float x, float y, float w, float h, 029 float xOffset, float yOffset, 030 float displayWidth, float displayHeight); 031 void showImagePortion(String category, String id, 032 float w, float h, 033 float xOffset, float yOffset, 034 float displayWidth, float displayHeight); 035 void showImageVisual(InteractionDialogImageVisual visual); 036 037 CustomPanelAPI showCustomPanel(float width, float height, CustomUIPanelPlugin plugin); 038 039 void fadeVisualOut(); 040 041 void showLoot(String title, CargoAPI otherCargo, boolean generatePods, CoreInteractionListener listener); 042 void showLoot(String title, CargoAPI otherCargo, boolean canLeavePersonnel, boolean revealMode, boolean generatePods, CoreInteractionListener listener); 043 044 /** 045 * The noCost parameter isn't used; (other.isFreeTranser() || other.getFaction().isNeutralFaction) is used instead. 046 * Use the other showCore() method. 047 * @param tabId 048 * @param other 049 * @param noCost 050 * @param listener 051 */ 052 @Deprecated void showCore(CoreUITabId tabId, SectorEntityToken other, boolean noCost, CoreInteractionListener listener); 053 054 void showCore(CoreUITabId tabId, SectorEntityToken other, CoreInteractionListener listener); 055 void showCore(CoreUITabId tabId, SectorEntityToken other, CoreUITradeMode mode, CoreInteractionListener listener); 056 void hideCore(); 057 058 void showNewGameOptionsPanel(CharacterCreationData data); 059 060 void showPersonInfo(PersonAPI person, boolean minimalMode); 061 062 void showPreBattleJoinInfo(String playerTitle, CampaignFleetAPI playerFleet, String titleOne, String titleTwo, 063 FleetEncounterContextPlugin context); 064 065 void showFleetMemberInfo(FleetMemberAPI member, boolean recoveryMode); 066 067 void showFleetInfo(String titleOne, CampaignFleetAPI one, String titleTwo, CampaignFleetAPI two, FleetEncounterContextPlugin context, boolean recoveryMode); 068 069 void finishFadeFast(); 070 071 void saveCurrentVisual(); 072 073 void restoreSavedVisual(); 074 075 void closeCoreUI(); 076 077 void showPersonInfo(PersonAPI person, boolean minimalMode, boolean withRelBar); 078 void showThirdPerson(PersonAPI person); 079 void hideThirdPerson(); 080 081 void showCore(CoreUITabId tabId, SectorEntityToken other, Object custom, CoreInteractionListener listener); 082 void showCore(CoreUITabId tabId, SectorEntityToken other, Object custom, CoreUITradeMode mode, CoreInteractionListener listener); 083 084 void showMapMarker(SectorEntityToken marker, String title, Color titleColor, 085 boolean withIntel, String icon, String text, Set<String> intelTags); 086 087 void removeMapMarkerFromPersonInfo(); 088 089 void showFirstPerson(); 090 void hideFirstPerson(); 091 092 void showLargePlanet(SectorEntityToken planet); 093 094 /** 095 * Only checks the "first" person, not second or third. 096 */ 097 boolean isShowingPersonInfo(PersonAPI person); 098} 099 100 101