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}