Starsector API
Loading...
Searching...
No Matches
SetLater.java
Go to the documentation of this file.
1package com.fs.starfarer.api.impl.campaign.rulecmd;
2
3import java.util.List;
4import java.util.Map;
5
6import com.fs.starfarer.api.EveryFrameScript;
7import com.fs.starfarer.api.Global;
8import com.fs.starfarer.api.campaign.InteractionDialogAPI;
9import com.fs.starfarer.api.campaign.rules.MemoryAPI;
10import com.fs.starfarer.api.util.Misc.Token;
11import com.fs.starfarer.api.util.Misc.VarAndMemory;
12
16public class SetLater extends BaseCommandPlugin {
17
18 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
19
20 //String flag = params.get(0).getString(memoryMap);
21 final VarAndMemory var = params.get(0).getVarNameAndMemory(memoryMap);
22 final float delay = params.get(1).getFloat(memoryMap);
23
24 Global.getSector().addScript(new EveryFrameScript() {
25 float elapsed = 0f;
26 public boolean runWhilePaused() {
27 return false;
28 }
29 public boolean isDone() {
30 return elapsed > delay;
31 }
32 public void advance(float amount) {
33 if (elapsed > delay) {
34 return;
35 }
36 elapsed += amount;
37 if (elapsed > delay) {
38 var.memory.set(var.name, true);
39 }
40 }
41 });
42
43 return true;
44 }
45
46}
static SectorAPI getSector()
Definition Global.java:59
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)
Definition SetLater.java:18