177 {
178 #ifndef SERVER
181 #endif
182
184 {
185 return;
186 }
187
188 int valve;
189 float waterHeight, pressureLevel;
192
196 {
198 {
205 break;
206 }
207 }
208
211 {
213 {
216
218 if (wlStageSettings.
Duration == -1.0)
219 {
224 return;
225 }
226
228 float adjustedDuration = wlStageSettings.
Duration;
230 {
233 }
234
236 {
237 float start = adjustedWaterHeight;
241 }
242 else
243 {
247 SetSynchDirty();
248 }
250 }
251 else
252 {
255 }
256 }
257
258 int allValvesStates = 0;
259
262 {
264 {
268
270 if (plStageSettings.Duration == -1.0)
271 {
275 return;
276 }
277
279 {
284 }
285 else
286 {
290 {
293 }
294 else
295 {
297 SetSynchDirty();
298 }
299 }
300
302 }
303 else
304 {
306 }
307
308
310 if (allValvesStates == false)
311 {
313 }
314 }
315 }
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)
const float TEMP_HOTIX_TIMESLICE
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
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'.