001package com.fs.starfarer.api.campaign; 002 003import com.fs.starfarer.api.campaign.events.CampaignEventPlugin; 004import com.fs.starfarer.api.characters.PersonAPI; 005import com.fs.starfarer.api.util.Highlights; 006 007public interface CampaignMissionPlugin { 008 String getId(); 009 010 String getName(); 011 012 String getPostingStage(); 013 014 void playerAccept(SectorEntityToken entity); 015 016 void advance(float amount); 017 018 CampaignEventPlugin getPrimedEvent(); 019 PersonAPI getImportantPerson(); 020 long getCreationTimestamp(); 021 022 023 /** 024 * ID of the faction offering this mission. 025 * @return 026 */ 027 String getFactionId(); 028 029 030 boolean showAcceptTooltipNextToButton(); 031 boolean canPlayerAccept(); 032 String getAcceptTooltip(); 033 Highlights getAcceptTooltipHighlights(); 034 035 /** 036 * Called when mission is removed from board with withCleanup = true 037 */ 038 void cleanup(); 039}