001package com.fs.starfarer.api.campaign.econ; 002 003import com.fs.starfarer.api.campaign.CargoStackAPI; 004import com.fs.starfarer.api.campaign.SpecialItemData; 005import com.fs.starfarer.api.ui.TooltipMakerAPI; 006 007public interface InstallableIndustryItemPlugin { 008 009 public static enum InstallableItemDescriptionMode { 010 INDUSTRY_TOOLTIP, 011 INDUSTRY_MENU_TOOLTIP, 012 MANAGE_ITEM_DIALOG_LIST, 013 MANAGE_ITEM_DIALOG_INSTALLED, 014 CARGO_TOOLTIP, 015 } 016 017 public SpecialItemData getCurrentlyInstalledItemData(); 018 public void setCurrentlyInstalledItemData(SpecialItemData data); 019 020 public void addItemDescription(TooltipMakerAPI text, SpecialItemData data, 021 InstallableItemDescriptionMode mode); 022 023 public String getUninstallButtonText(); 024 public String getMenuItemTitle(); 025 026 public String getNoItemCurrentlyInstalledText(); 027 public String getSelectItemToAssignToIndustryText(); 028 public String getNoItemsAvailableText(); 029 public String getNoItemsAvailableTextRemote(); 030 031 public boolean isInstallableItem(CargoStackAPI stack); 032 033 public String getSelectedItemInDialogSoundId(SpecialItemData data); 034 public void createMenuItemTooltip(TooltipMakerAPI tooltip, boolean expanded); 035 public boolean isMenuItemTooltipExpandable(); 036 public boolean hasMenuItemTooltip(); 037 public float getMenuItemTooltipWidth(); 038 public boolean isMenuItemEnabled(); 039 040 041 boolean canBeInstalled(SpecialItemData data); 042 043}