Starsector API
Loading...
Searching...
No Matches
TestEvent.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.events;
2
3import java.awt.Color;
4import java.util.HashMap;
5import java.util.Map;
6
7import com.fs.starfarer.api.Global;
8import com.fs.starfarer.api.campaign.StarSystemAPI;
9import com.fs.starfarer.api.campaign.comm.MessagePriority;
10import com.fs.starfarer.api.campaign.events.CampaignEventTarget;
11
12public class TestEvent extends BaseEventPlugin {
13
14 private float elapsedDays = 0f;
15 private CampaignEventTarget eventTarget;
16
17 private boolean started = false;
18 private int stage = 0;
19 private String type;
20
21 public void init(String type, CampaignEventTarget eventTarget) {
22 this.type = type;
23 this.eventTarget = eventTarget;
24 }
25
26 public void startEvent() {
27 started = true;
28 }
29
30 public void advance(float amount) {
31 if (Global.getSector().isPaused()) return;
32 if (!started) return;
33
34 //System.out.println("Advance() in TestEvent called");
35 float days = Global.getSector().getClock().convertToDays(amount);
36
37 elapsedDays += days;
38
39 if (elapsedDays > 0 && stage == 0) {
40 System.out.println("Test event reporting stage start");
41 Global.getSector().reportEventStage(this, "start", MessagePriority.SECTOR);
42 stage++;
43 }
44
45 if (elapsedDays > 1 && stage == 1) {
46 System.out.println("Test event reporting stage warning_relief");
47 Global.getSector().reportEventStage(this, "warning_relief", MessagePriority.SECTOR);
48 stage++;
49 }
50
51 if (elapsedDays > 2 && stage == 2) {
52 System.out.println("Test event reporting stage relief_sent");
53 Global.getSector().reportEventStage(this, "relief_sent", MessagePriority.SYSTEM);
54 stage++;
55 }
56
57 if (elapsedDays > 3 && stage == 3) {
58 System.out.println("Test event reporting stage relief_arrived");
59 Global.getSector().reportEventStage(this, "relief_arrived", MessagePriority.SYSTEM);
60 stage++;
61 }
62
63// if (elapsedDays > 4 && stage == 4) {
64// System.out.println("Test event reporting stage end");
65// Global.getSector().reportEventStage(this, "end", MessagePriority.SECTOR);
66// stage++;
67// }
68 }
69
70 public boolean isDone() {
71 return elapsedDays > 15f || stage >= 4;
72 }
73
74 public CampaignEventTarget getEventTarget() {
75 return eventTarget;
76 }
77
78 public String getEventType() {
79 return type;
80 }
81
82 public Map<String, String> getTokenReplacements() {
83 Map<String, String> map = new HashMap<String, String>();
84
85 /*
86 $market
87 $marketSystem
88 $targetFaction
89 $reliefSystem
90 $reliefEntity
91 $playerName
92 */
93
94 map.put("$market", eventTarget.getEntity().getName());
95
96 if (eventTarget.getLocation() instanceof StarSystemAPI) {
97 map.put("$marketSystem", ((StarSystemAPI)eventTarget.getLocation()).getBaseName() + " star system");
98 } else {
99 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
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
static SectorAPI getSector()
Definition Global.java:59
void init(String type, CampaignEventTarget eventTarget)