167 {
168 #ifndef SERVER
171 #endif
172
174 {
175 return;
176 }
177
178 int valve;
179 float waterHeight, pressureLevel;
182
186 {
188 {
195 break;
196 }
197 }
198
201 {
203 {
206
208 if (wlStageSettings.
Duration == -1.0)
209 {
214 return;
215 }
216
218 float adjustedDuration = wlStageSettings.
Duration;
220 {
223 }
224
226 {
227 float start = adjustedWaterHeight;
231 }
232 else
233 {
237 SetSynchDirty();
238 }
239
241 }
242 else
243 {
246 }
247 }
248
249 int allValvesStates = 0;
250
253 {
255 {
259
261 if (plStageSettings.Duration == -1.0)
262 {
266 return;
267 }
268
270 {
275 }
276 else
277 {
281 {
284 }
285 else
286 {
288 SetSynchDirty();
289 }
290 }
291
293 }
294 else
295 {
297 }
298
299
301 if (allValvesStates == false)
302 {
304 }
305 }
306 }
float m_WaterLevelHeightActual
void SetDefaultPressureLevelStageSettings(int pValveIndex)
bool IsValvePressureLevelGaugeAtBase(int pValveIndex)
PressureLevelSettings ActualPressureLevelStageSettings(int pValveIndex, bool pDeanimationRequest=false)
ref array< bool > m_PressureDeanimationRequests
WaterLevelSettings ActualWaterLevelStageSettings(int pValveIndex)
void AdvanceToNextPressureLevelStageSettings(int pValveIndex)
PressureLevelSettings PreviousPressureLevelStageSettings(int pValveIndex, bool pDeanimationRequest=false)
void SetWaterLevelHeight(float pHeight)
ref array< bool > m_ValveStates
void SetValvePressureLevelGauge(int pValveIndex, float pValue)
float WaterLevelToHeight(int pWaterLevel)
ref array< float > m_PressureTimesAccumulated
WaterLevelSettings PreviousWaterLevelStageSettings(int pValveIndex)
void AdvanceToNextWaterLevelStageSettings(int pValveIndex)
void HandleSoundEffects()
float PressureLevelToValue(int pPressureLevel)
ref WaterLevelSnapshot m_WaterLevelSnapshot
for deanimation purposes
float AdjustTime(float originalTime)
void SyncValveVariables()
ref array< float > m_WaterLevelTimesAccumulated
ref array< bool > m_PressureAnimationRequests
void PressureLevelSettings(int pPressureLevel, float pDuration)
void HandleVisualEffects()
static float EaseInOutSine(float t)
Input value between 0 and 1, returns value adjusted by easing, no automatic clamping of input(do your...
const int INDEX_NOT_FOUND
proto native CGame GetGame()
static proto float Lerp(float a, float b, float time)
Linearly interpolates between 'a' and 'b' given 'time'.
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.