001package com.fs.starfarer.api.combat; 002 003import java.awt.Color; 004 005public interface FluxTrackerAPI { 006 007 float getTimeToVent(); 008 float getOverloadTimeRemaining(); 009 010 boolean isOverloaded(); 011 boolean isVenting(); 012 boolean isOverloadedOrVenting(); 013 014 boolean isEngineBoostActive(); 015 /** 016 * @return flux level, from 0 to 1 017 */ 018 float getFluxLevel(); 019 020 float getCurrFlux(); 021 float getHardFlux(); 022 float getMaxFlux(); 023 024 void setHardFlux(float minFlux); 025 void setCurrFlux(float currFlux); 026 027 /** 028 * @param fluxAmount 029 * @param hardFlux 030 * @return false if flux couldn't be raised successfully. Hard flux increases always return true and can overload the ship. 031 */ 032 boolean increaseFlux(float fluxAmount, boolean hardFlux); 033 void decreaseFlux(float fluxAmount); 034 035 void forceOverload(float extraOverloadTime); 036 void stopOverload(); 037 void stopVenting(); 038 void beginOverloadWithTotalBaseDuration(float totalDur); 039 040 /** 041 * Whether the "Overload!" floaty should be shown. 042 * @return 043 */ 044 boolean showFloaty(); 045 046 /** 047 * "Overload" floaty font size. 048 * @return 049 */ 050 float getFloatySize(); 051 void playOverloadSound(); 052 void showOverloadFloatyIfNeeded(); 053 void showOverloadFloatyIfNeeded(String text, Color color, float fontSizeBonus, boolean alwaysShow); 054 055 float getEngineBoostLevel(); 056 void setOverloadProgress(float empProgress); 057 void setOverloadDuration(float empDuration); 058 void ventFlux(); 059 void setOverloadColor(Color overloadColor); 060 Color getOverloadColor(); 061 void setOverloadText(String overloadText); 062 String getOverloadText(); 063}