actiontunefrequencyonground.c 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. class ActionTuneFrequencyOnGround : ActionInteractBase
  2. {
  3. string m_RadioFreq;
  4. void ActionTuneFrequencyOnGround()
  5. {
  6. m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_OPENDOORFW;
  7. m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
  8. m_RadioFreq = string.Empty;
  9. m_Text = "#tune_frequency";
  10. }
  11. override void OnActionInfoUpdate( PlayerBase player, ActionTarget target, ItemBase item )
  12. {
  13. Object target_object = target.GetObject();
  14. Land_Radio_PanelBig transmitter = Land_Radio_PanelBig.Cast( target.GetObject() );
  15. m_Text = "#tune_frequency | " + transmitter.GetTunedFrequency().ToString() + " MHz";
  16. }
  17. override typename GetInputType()
  18. {
  19. return ContinuousInteractActionInput;
  20. }
  21. override bool HasProgress()
  22. {
  23. return false;
  24. }
  25. override bool ActionCondition ( PlayerBase player, ActionTarget target, ItemBase item )
  26. {
  27. Object target_object = target.GetObject();
  28. Land_Radio_PanelBig transmitter = Land_Radio_PanelBig.Cast( target_object );
  29. string selection = target_object.GetActionComponentName( target.GetComponentIndex() );
  30. if ( transmitter.GetCompEM().IsWorking() && selection == "control_panel" )
  31. {
  32. //transmitter.DisplayRadioInfo( transmitter.GetTunedFrequency().ToString(), player );
  33. //m_RadioFreq = transmitter.GetTunedFrequency().ToString();
  34. return true;
  35. }
  36. return false;
  37. }
  38. override void OnExecuteServer( ActionData action_data )
  39. {
  40. Land_Radio_PanelBig transmitter = Land_Radio_PanelBig.Cast( action_data.m_Target.GetObject() );
  41. transmitter.SetNextFrequency( action_data.m_Player );
  42. }
  43. }