001package com.fs.starfarer.api.impl.campaign.rulecmd; 002 003import java.util.List; 004import java.util.Map; 005 006import com.fs.starfarer.api.Global; 007import com.fs.starfarer.api.campaign.CampaignFleetAPI; 008import com.fs.starfarer.api.campaign.CargoAPI; 009import com.fs.starfarer.api.campaign.InteractionDialogAPI; 010import com.fs.starfarer.api.campaign.TextPanelAPI; 011import com.fs.starfarer.api.campaign.rules.MemKeys; 012import com.fs.starfarer.api.campaign.rules.MemoryAPI; 013import com.fs.starfarer.api.impl.campaign.shared.SharedData; 014import com.fs.starfarer.api.impl.campaign.shared.SharedData.UniqueEncounterData; 015import com.fs.starfarer.api.util.Misc.Token; 016 017/** 018 * UniqueEncounter <action> <parameters> 019 */ 020public class UniqueEncounter extends BaseCommandPlugin { 021 022 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 023 if (dialog == null) return false; 024 025 TextPanelAPI text = dialog.getTextPanel(); 026 CampaignFleetAPI pf = Global.getSector().getPlayerFleet(); 027 CargoAPI cargo = pf.getCargo(); 028 029 030 String action = params.get(0).getString(memoryMap); 031 032 MemoryAPI mem = memoryMap.get(MemKeys.LOCAL); 033 if (mem == null) return false; // should not be possible unless there are other big problems already 034 035 UniqueEncounterData data = SharedData.getData().getUniqueEncounterData(); 036 037 if ("setInteractedWith".equals(action)) { 038 String id = params.get(1).getString(memoryMap); 039 data.setWasInteractedWith(id); 040 } 041 042 return false; 043 } 044 045 046 047}