001package com.fs.starfarer.api.impl.campaign.rulecmd.missions; 002 003import java.util.List; 004import java.util.Map; 005 006import com.fs.starfarer.api.campaign.InteractionDialogAPI; 007import com.fs.starfarer.api.campaign.InteractionDialogPlugin; 008import com.fs.starfarer.api.campaign.SectorEntityToken; 009import com.fs.starfarer.api.campaign.TextPanelAPI; 010import com.fs.starfarer.api.campaign.econ.MarketAPI; 011import com.fs.starfarer.api.campaign.rules.MemoryAPI; 012import com.fs.starfarer.api.characters.PersonAPI; 013import com.fs.starfarer.api.impl.campaign.missions.hub.BaseMissionHub; 014import com.fs.starfarer.api.impl.campaign.missions.hub.MissionHub; 015import com.fs.starfarer.api.impl.campaign.rulecmd.BaseCommandPlugin; 016import com.fs.starfarer.api.util.Misc.Token; 017 018/** 019 * MissionHubCMD <command> 020 */ 021public class MissionHubCMD extends BaseCommandPlugin { 022 023 protected SectorEntityToken entity; 024 protected InteractionDialogPlugin originalPlugin; 025 protected InteractionDialogAPI dialog; 026 protected Map<String, MemoryAPI> memoryMap; 027 protected PersonAPI person; 028 protected MissionHub hub; 029 protected MarketAPI market; 030 protected TextPanelAPI text; 031 032 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, final Map<String, MemoryAPI> memoryMap) { 033 this.dialog = dialog; 034 this.memoryMap = memoryMap; 035 if (dialog == null) return false; 036 037 String command = params.get(0).getString(memoryMap); 038 if (command == null) return false; 039 040 entity = dialog.getInteractionTarget(); 041 originalPlugin = dialog.getPlugin(); 042 market = entity.getMarket(); 043 044 text = dialog.getTextPanel(); 045 person = dialog.getInteractionTarget().getActivePerson(); 046 047 hub = BaseMissionHub.get(person); 048 049 if (command.equals("hasHub")) { 050 return hub != null && person != null; 051 } 052 053 return true; 054 } 055 056} 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074