Starsector API
Loading...
Searching...
No Matches
AddCredits.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.Global;
7import com.fs.starfarer.api.campaign.InteractionDialogAPI;
8import com.fs.starfarer.api.campaign.rules.MemoryAPI;
9import com.fs.starfarer.api.util.Misc;
10import com.fs.starfarer.api.util.Misc.Token;
11
15public class AddCredits extends BaseCommandPlugin {
16
17 public boolean execute(String ruleId, InteractionDialogAPI dialog, List<Token> params, Map<String, MemoryAPI> memoryMap) {
18 if (dialog == null) return false;
19
20 //float credits = params.get(0).getFloat(memoryMap);
21
22 float credits = 0;
23 if (params.get(0).isOperator()) {
24 credits = -1f * params.get(1).getFloat(memoryMap);
25 } else {
26 credits = params.get(0).getFloat(memoryMap);
27 }
28
29 Global.getSector().getPlayerFleet().getCargo().getCredits().add((int)credits);
30 if (Global.getSector().getPlayerFleet().getCargo().getCredits().get() < 0) {
31 Global.getSector().getPlayerFleet().getCargo().getCredits().set(0);
32 }
33
34 //MemoryAPI memory = Global.getSector().getCharacterData().getMemory();
35 MemoryAPI memory = Global.getSector().getCharacterData().getMemoryWithoutUpdate();
36 memory.set("$credits", (int)Global.getSector().getPlayerFleet().getCargo().getCredits().get(), 0);
37 memory.set("$creditsStr", Misc.getWithDGS(Global.getSector().getPlayerFleet().getCargo().getCredits().get()), 0);
38
39 if (credits > 0) {
40 AddRemoveCommodity.addCreditsGainText((int) credits, dialog.getTextPanel());
41 } else {
42 AddRemoveCommodity.addCreditsLossText((int) Math.abs(credits), dialog.getTextPanel());
43 }
44
45 return true;
46 }
47
48}
static SectorAPI getSector()
Definition Global.java:59
boolean execute(String ruleId, InteractionDialogAPI dialog, List< Token > params, Map< String, MemoryAPI > memoryMap)
static void addCreditsGainText(int credits, TextPanelAPI text)
static void addCreditsLossText(int credits, TextPanelAPI text)