001package com.fs.starfarer.api.impl.campaign.tutorial; 002 003import com.fs.starfarer.api.EveryFrameScript; 004import com.fs.starfarer.api.Global; 005import com.fs.starfarer.api.ui.HintPanelAPI; 006import com.fs.starfarer.api.util.Misc; 007 008public class SaveNagScript implements EveryFrameScript { 009 010 protected float duration; 011 protected boolean playerSaved; 012 013 protected Object writeReplace() { 014 playerSaved = true; 015 HintPanelAPI hints = Global.getSector().getCampaignUI().getHintPanel(); 016 if (hints != null) { 017 hints.clearHints(false); 018 } 019 return this; 020 } 021 022 023 public SaveNagScript(float duration) { 024 this.duration = duration; 025 HintPanelAPI hints = Global.getSector().getCampaignUI().getHintPanel(); 026 hints.clearHints(); 027 String control = Global.getSettings().getControlStringForEnumName("QUICK_SAVE"); 028 hints.setHint(0, "- Press %s to quick-save", true, Misc.getHighlightColor(), control); 029 } 030 031 public void advance(float amount) { 032 if (Global.getSector().getCampaignUI().isShowingDialog()) return; 033 034 duration -= amount; 035 if (duration <= 0) { 036 HintPanelAPI hints = Global.getSector().getCampaignUI().getHintPanel(); 037 hints.clearHints(); 038 } 039 } 040 041 public boolean isDone() { 042 return duration <= 0; 043 } 044 045 public boolean runWhilePaused() { 046 return true; 047 } 048 049}