001package com.fs.starfarer.api.impl.campaign.events; 002 003import java.awt.Color; 004import java.util.HashMap; 005import java.util.Map; 006 007import com.fs.starfarer.api.Global; 008import com.fs.starfarer.api.campaign.StarSystemAPI; 009import com.fs.starfarer.api.campaign.comm.MessagePriority; 010import com.fs.starfarer.api.campaign.events.CampaignEventTarget; 011 012public class TestEvent extends BaseEventPlugin { 013 014 private float elapsedDays = 0f; 015 private CampaignEventTarget eventTarget; 016 017 private boolean started = false; 018 private int stage = 0; 019 private String type; 020 021 public void init(String type, CampaignEventTarget eventTarget) { 022 this.type = type; 023 this.eventTarget = eventTarget; 024 } 025 026 public void startEvent() { 027 started = true; 028 } 029 030 public void advance(float amount) { 031 if (Global.getSector().isPaused()) return; 032 if (!started) return; 033 034 //System.out.println("Advance() in TestEvent called"); 035 float days = Global.getSector().getClock().convertToDays(amount); 036 037 elapsedDays += days; 038 039 if (elapsedDays > 0 && stage == 0) { 040 System.out.println("Test event reporting stage start"); 041 Global.getSector().reportEventStage(this, "start", MessagePriority.SECTOR); 042 stage++; 043 } 044 045 if (elapsedDays > 1 && stage == 1) { 046 System.out.println("Test event reporting stage warning_relief"); 047 Global.getSector().reportEventStage(this, "warning_relief", MessagePriority.SECTOR); 048 stage++; 049 } 050 051 if (elapsedDays > 2 && stage == 2) { 052 System.out.println("Test event reporting stage relief_sent"); 053 Global.getSector().reportEventStage(this, "relief_sent", MessagePriority.SYSTEM); 054 stage++; 055 } 056 057 if (elapsedDays > 3 && stage == 3) { 058 System.out.println("Test event reporting stage relief_arrived"); 059 Global.getSector().reportEventStage(this, "relief_arrived", MessagePriority.SYSTEM); 060 stage++; 061 } 062 063// if (elapsedDays > 4 && stage == 4) { 064// System.out.println("Test event reporting stage end"); 065// Global.getSector().reportEventStage(this, "end", MessagePriority.SECTOR); 066// stage++; 067// } 068 } 069 070 public boolean isDone() { 071 return elapsedDays > 15f || stage >= 4; 072 } 073 074 public CampaignEventTarget getEventTarget() { 075 return eventTarget; 076 } 077 078 public String getEventType() { 079 return type; 080 } 081 082 public Map<String, String> getTokenReplacements() { 083 Map<String, String> map = new HashMap<String, String>(); 084 085 /* 086 $market 087 $marketSystem 088 $targetFaction 089 $reliefSystem 090 $reliefEntity 091 $playerName 092 */ 093 094 map.put("$market", eventTarget.getEntity().getName()); 095 096 if (eventTarget.getLocation() instanceof StarSystemAPI) { 097 map.put("$marketSystem", ((StarSystemAPI)eventTarget.getLocation()).getBaseName() + " star system"); 098 } else { 099 map.put("$marketSystem", "hyperspace"); 100 } 101 map.put("$targetFaction", eventTarget.getEntity().getFaction().getDisplayName()); 102 map.put("$reliefSystem", "Askonia"); 103 map.put("$reliefEntity", "Volturn"); 104 105 106 return map; 107 108 } 109 110 111 public MessagePriority getWarningWhenPossiblePriority() { 112 return MessagePriority.SECTOR; 113 } 114 115 public MessagePriority getWarningWhenLikelyPriority() { 116 return MessagePriority.SECTOR; 117 } 118 119 public String getStageIdForLikely() { 120 return "likely"; 121 } 122 123 public String getStageIdForPossible() { 124 return "possible"; 125 } 126 127 public void cleanup() { 128 // TODO Auto-generated method stub 129 130 } 131 132 public void setParam(Object param) { 133 // TODO Auto-generated method stub 134 135 } 136 137 public boolean allowMultipleOngoingForSameTarget() { 138 // TODO Auto-generated method stub 139 return false; 140 } 141 142 public Color[] getHighlightColors(String stageId) { 143 // TODO Auto-generated method stub 144 return null; 145 } 146 147 public String[] getHighlights(String stageId) { 148 // TODO Auto-generated method stub 149 return null; 150 } 151 152} 153 154 155 156