Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.histidine.testmod.scripts;
- import com.fs.starfarer.api.EveryFrameScript;
- import com.fs.starfarer.api.GameState;
- import com.fs.starfarer.api.Global;
- import com.fs.starfarer.api.util.Misc;
- import java.awt.Color;
- import java.io.IOException;
- import org.json.JSONException;
- import org.json.JSONObject;
- import org.lwjgl.input.Keyboard;
- public class SpeedupEveryFrameScript implements EveryFrameScript {
- private static final String SETTINGS_FILE = "SPEED_UP.ini";
- public static int KEY = Keyboard.KEY_F2;
- public static float SPEEDUP_MULT = 6;
- public static final float BASE_SPEEDUP = Global.getSettings().getFloat("campaignSpeedupMult");
- public static boolean isSpedUp = false;
- public static boolean keyDown = false;
- static {
- try {
- reloadSettings();
- } catch (Exception ex) {
- throw new RuntimeException("bla", ex);
- }
- }
- public static void reloadSettings() throws IOException, JSONException {
- JSONObject settings = Global.getSettings().loadJSON(SETTINGS_FILE);
- JSONObject options = settings.getJSONObject("speedOptionsCampaign");
- KEY = options.getInt("toggleKey");
- SPEEDUP_MULT = (float)options.getDouble("speedMult");
- }
- @Override
- public boolean isDone() {
- return false;
- }
- @Override
- public boolean runWhilePaused() {
- return false;
- }
- @Override
- public void advance(float amount) {
- if (!keyDown && Keyboard.isKeyDown(KEY)) {
- keyDown = true;
- return;
- }
- // keypress release
- if (keyDown && !Keyboard.isKeyDown(KEY))
- {
- if (Global.getCurrentState() != GameState.CAMPAIGN) return;
- if (Global.getSector().getCampaignUI().getCurrentInteractionDialog() != null)
- return;
- if (Global.getSector().getCampaignUI().getCurrentCoreTab() != null)
- return;
- if (isSpedUp) {
- Global.getSettings().setFloat("campaignSpeedupMult", BASE_SPEEDUP);
- } else {
- Global.getSettings().setFloat("campaignSpeedupMult", SPEEDUP_MULT);
- }
- isSpedUp = !isSpedUp;
- // TODO: externalize
- float mult = Global.getSettings().getFloat("campaignSpeedupMult");
- Global.getSector().getCampaignUI().addMessage("Campaign speedup mult is now " + mult,
- Misc.getTextColor(), mult + "", "", Misc.getHighlightColor(), Color.BLACK);
- keyDown = false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement