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}