plugintargettemperature.c 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. class PluginTargetTemperature extends PluginBase
  2. {
  3. protected PlayerBase m_pPlayer;
  4. void Init(PlayerBase player)
  5. {
  6. m_pPlayer = player;
  7. }
  8. void ShowDebug(bool show)
  9. {
  10. DbgUI.BeginCleanupScope();
  11. if (show && m_pPlayer)
  12. {
  13. EntityAI ent = GetTargetEntity();
  14. DbgUI.Begin("Target Temperature", 10, 10);
  15. DbgUI.Panel("", 150, 1);
  16. if (ent)
  17. {
  18. DbgUI.Text("Entity: : " + ent.GetType());
  19. DbgUI.Text("Temperature: " + ent.GetTemperature());
  20. DbgUI.Text("Frozen State: " + ent.GetIsFrozen());
  21. DbgUI.Text("Freeze/Thaw Progress: " + ent.GetFreezeThawProgress());
  22. }
  23. DbgUI.End();
  24. }
  25. DbgUI.EndCleanupScope();
  26. }
  27. //! utilizes camera position from the CGame
  28. EntityAI GetTargetEntity()
  29. {
  30. float hitFraction;
  31. vector start = GetGame().GetCurrentCameraPosition();
  32. vector end = start + (GetGame().GetCurrentCameraDirection() * 5.0);
  33. vector hitPos, hitNormal;
  34. Object hitObj;
  35. PhxInteractionLayers hitMask = 0xFFFFFFFFFF;
  36. DayZPhysics.RayCastBullet(start, end, hitMask, m_pPlayer, hitObj, hitPos, hitNormal, hitFraction);
  37. return EntityAI.Cast(hitObj);
  38. }
  39. }