001package com.fs.starfarer.api.campaign.comm; 002 003import java.util.Collection; 004import java.util.List; 005import java.util.Map; 006 007import java.awt.Color; 008 009import org.lwjgl.util.vector.Vector2f; 010 011import com.fs.starfarer.api.campaign.OnMessageDeliveryScript; 012import com.fs.starfarer.api.campaign.SectorEntityToken; 013import com.fs.starfarer.api.campaign.econ.MarketAPI; 014import com.fs.starfarer.api.campaign.events.CampaignEventPlugin; 015import com.fs.starfarer.api.campaign.events.CampaignEventPlugin.PriceUpdatePlugin; 016import com.fs.starfarer.api.util.Highlights; 017 018public interface CommMessageAPI { 019 020 public static enum MessageClickAction { 021 FLEET_TAB, 022 REFIT_TAB, 023 INTEL_TAB, 024 CHARACTER_TAB, 025 CARGO_TAB, 026 INCOME_TAB, 027 COLONY_INFO, 028 INTERACTION_DIALOG, 029 NOTHING, 030 } 031 032 033 public static final String MESSAGE_FACTION_ID_KEY = "CMAPIfactionId"; 034 public static final String MESSAGE_PERSON_ID_KEY = "CMAPIpersonId"; 035 036 037 Color getSubjectColor(); 038 void setSubjectColor(Color defaultColor); 039 OnMessageDeliveryScript getOnDelivery(); 040 void setOnDelivery(OnMessageDeliveryScript onDelivery); 041 String getId(); 042 boolean isAddToIntelTab(); 043 void setAddToIntelTab(boolean addToIntelTab); 044 String getType(); 045 void setType(String type); 046 String getShortType(); 047 void setShortType(String shortType); 048 String getDeliveredBy(); 049 void setDeliveredBy(String deliveredBy); 050 String getSender(); 051 void setSender(String sender); 052 long getTimeSent(); 053 void setTimeSent(long timeSent); 054 long getTimeReceived(); 055 void setTimeReceived(long timeReceived); 056 String getSubject(); 057 void setSubject(String subject); 058 MessageSectionAPI getSection1(); 059 MessageSectionAPI getSection2(); 060 MessageSectionAPI getSection3(); 061 String getSound(); 062 void setSound(String sound); 063 String getSmallIcon(); 064 void setSmallIcon(String smallIcon); 065 String getImage(); 066 void setImage(String largeIcon); 067 String getStarSystemId(); 068 void setStarSystemId(String starSystemId); 069 String getLocationString(); 070 void setLocationString(String locationString); 071 Highlights getSubjectHighlights(); 072 void setSubjectHighlights(Highlights subjectHighlights); 073 String getChannel(); 074 void setChannel(String channel); 075 Object getCustomData(); 076 void setCustomData(Object customData); 077 CampaignEventPlugin getEvent(); 078 String getNote(); 079 void setNote(String note); 080 Color getNoteColor(); 081 void setNoteColor(Color noteColor); 082 083 084 boolean hasTag(String tag); 085 void addTag(String tag); 086 void removeTag(String tag); 087 Collection<String> getTags(); 088 void clearTags(); 089 Map<String, Object> getCustomMap(); 090 String getMarketId(); 091 void setMarketId(String marketId); 092 MarketAPI getMarket(); 093 List<PriceUpdatePlugin> getPriceUpdates(); 094 void setPriceUpdates(List<PriceUpdatePlugin> priceUpdates); 095 boolean isShowInCampaignList(); 096 void setShowInCampaignList(boolean showInCampaignList); 097 MessageClickAction getAction(); 098 void setAction(MessageClickAction action); 099 Vector2f getLocInHyper(); 100 void setLocInHyper(Vector2f locInHyper); 101 SectorEntityToken getCenterMapOnEntity(); 102 void setCenterMapOnEntity(SectorEntityToken centerMapOnEntity); 103 104}