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.InteractionDialogAPI; 009import com.fs.starfarer.api.campaign.SectorEntityToken; 010import com.fs.starfarer.api.campaign.rules.MemoryAPI; 011import com.fs.starfarer.api.characters.PersonAPI; 012import com.fs.starfarer.api.util.Misc.Token; 013 014/** 015 * ShowPersonVisual <optional - minimal mode> <optional person id> 016 */ 017public class ShowPersonVisual extends BaseCommandPlugin { 018 019 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) { 020 021 SectorEntityToken target = dialog.getInteractionTarget(); 022 023 boolean minimal = false; 024 if (params.size() > 0) { 025 minimal = params.get(0).getBoolean(memoryMap); 026 } 027 if (params.size() > 1) { 028 String id = params.get(1).getString(memoryMap); 029 PersonAPI person = Global.getSector().getImportantPeople().getData(id).getPerson(); 030 dialog.getVisualPanel().showPersonInfo(person, minimal); 031 } else if (target.getActivePerson() != null) { 032 dialog.getVisualPanel().showPersonInfo(target.getActivePerson(), minimal); 033 } else { 034 if (target instanceof CampaignFleetAPI) { 035 CampaignFleetAPI fleet = (CampaignFleetAPI) target; 036 if (fleet.getCommander() != null) { 037 dialog.getVisualPanel().showPersonInfo(fleet.getCommander(), minimal); 038 } 039 } 040 } 041 042 //dialog.getVisualPanel().showSecondPerson(Global.getSector().getPlayerFaction().createRandomPerson()); 043 044 return true; 045 } 046 047}