universaltemperaturesourcelambdabase.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. class UniversalTemperatureSourceLambdaBase
  2. {
  3. protected float m_LastExecuteTime = -1;
  4. protected float m_ExecuteInterval = -1;
  5. protected bool m_AffectsPlayer;
  6. void UniversalTemperatureSourceLambdaBase()
  7. {
  8. m_AffectsPlayer = true;
  9. }
  10. void ~UniversalTemperatureSourceLambdaBase();
  11. void Execute(UniversalTemperatureSourceSettings pSettings, UniversalTemperatureSourceResult resultValues);
  12. void DryItemsInVicinity(UniversalTemperatureSourceSettings pSettings);
  13. void DryItemsInVicinity(UniversalTemperatureSourceSettings pSettings, vector position, out notnull array<Object> nearestObjects);
  14. void WarmAndCoolItemsInVicinity(UniversalTemperatureSourceSettings pSettings, vector position, out notnull array<Object> nearestObjects);
  15. void OnBeforeExecute()
  16. {
  17. float time = g_Game.GetTickTime();
  18. if (m_LastExecuteTime == -1)
  19. m_LastExecuteTime += time; //time is at least 1
  20. m_ExecuteInterval = time - m_LastExecuteTime;
  21. }
  22. void OnAfterExecute()
  23. {
  24. m_LastExecuteTime = g_Game.GetTickTime();
  25. }
  26. void OnUTSActivate()
  27. {
  28. m_LastExecuteTime = -1;
  29. }
  30. void OnUTSDeactivate()
  31. {
  32. m_LastExecuteTime = -1;
  33. }
  34. bool AffectsPlayer()
  35. {
  36. return m_AffectsPlayer;
  37. }
  38. //! --------------------------------------
  39. //! DEPRECATED
  40. const float HEAT_THROUGH_AIR_COEF = 0.003;
  41. }