001package com.fs.starfarer.api.impl.campaign.intel.bar.events; 002 003import java.util.Map; 004 005import com.fs.starfarer.api.campaign.InteractionDialogAPI; 006import com.fs.starfarer.api.campaign.OptionPanelAPI; 007import com.fs.starfarer.api.campaign.TextPanelAPI; 008import com.fs.starfarer.api.campaign.econ.MarketAPI; 009import com.fs.starfarer.api.campaign.rules.MemoryAPI; 010import com.fs.starfarer.api.impl.campaign.intel.bar.PortsideBarEvent; 011 012public class BaseBarEvent implements PortsideBarEvent { 013 014 transient protected InteractionDialogAPI dialog; 015 transient protected TextPanelAPI text; 016 transient protected OptionPanelAPI options; 017 transient protected Map<String, MemoryAPI> memoryMap; 018 019 public boolean isAlwaysShow() { 020 return false; 021 } 022 023 public void init(InteractionDialogAPI dialog, Map<String, MemoryAPI> memoryMap) { 024 this.dialog = dialog; 025 this.memoryMap = memoryMap; 026 if (dialog != null) { 027 text = dialog.getTextPanel(); 028 options = dialog.getOptionPanel(); 029 } 030 } 031 032 public String getBarEventId() { 033 return getClass().getSimpleName(); 034 } 035 036 transient protected boolean noContinue = false; 037 public boolean endWithContinue() { 038 return !noContinue; 039 } 040 041 transient protected boolean done = false; 042 public boolean isDialogFinished() { 043 return done; 044 } 045 046 public void optionSelected(String optionText, Object optionData) { 047 048 } 049 050 public void advance(float amount) { 051 052 } 053 054 public boolean shouldRemoveEvent() { 055 return false; 056 } 057 058 public boolean shouldShowAtMarket(MarketAPI market) { 059 if (shownAt != null && shownAt != market) return false; 060 return true; 061 } 062 063 public void addPromptAndOption(InteractionDialogAPI dialog, Map<String, MemoryAPI> memoryMap) { 064 065 } 066 067 protected MarketAPI shownAt = null; 068 public void wasShownAtMarket(MarketAPI market) { 069 shownAt = market; 070 } 071 072 public MarketAPI getShownAt() { 073 return shownAt; 074 } 075 076}