actionmeasuretemperatureself.c 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. class ActionMeasureTemperatureSelfCB : ActionContinuousBaseCB
  2. {
  3. override void CreateActionComponent()
  4. {
  5. m_ActionData.m_ActionComponent = new CAContinuousTime(UATimeSpent.MEASURE_TEMP);
  6. }
  7. };
  8. class ActionMeasureTemperatureSelf: ActionContinuousBase
  9. {
  10. void ActionMeasureTemperatureSelf()
  11. {
  12. m_CallbackClass = ActionMeasureTemperatureSelfCB;
  13. m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_TAKETEMPSELF;
  14. m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_TAKETEMPSELF;
  15. m_SpecialtyWeight = UASoftSkillsWeight.PRECISE_LOW;
  16. m_Text = "#measure_temperature";
  17. }
  18. override void CreateConditionComponents()
  19. {
  20. m_ConditionItem = new CCINonRuined;
  21. m_ConditionTarget = new CCTSelf;
  22. }
  23. override bool HasProneException()
  24. {
  25. return true;
  26. }
  27. override bool HasTarget()
  28. {
  29. return false;
  30. }
  31. override void OnFinishProgressClient( ActionData action_data )
  32. {
  33. Thermometer thermometer = Thermometer.Cast(action_data.m_MainItem);
  34. if (thermometer)
  35. {
  36. float value = thermometer.GetTemperatureValue(action_data.m_Player);
  37. action_data.m_Player.m_Hud.SetTemperature(value.ToString() + "#degrees_celsius");
  38. }
  39. }
  40. };