actionturnoffalarmclock.c 884 B

123456789101112131415161718192021222324252627282930313233343536
  1. class ActionTurnOffAlarmClockCB : ActionSingleUseBaseCB
  2. {
  3. override void CreateActionComponent()
  4. {
  5. m_ActionData.m_ActionComponent = new CASingleUseTurnOnPlugged;
  6. }
  7. }
  8. class ActionTurnOffAlarmClock: ActionTurnOffWhileInHands
  9. {
  10. void ActionTurnOffAlarmClock()
  11. {
  12. m_CallbackClass = ActionTurnOffAlarmClockCB;
  13. m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_STOP_ALARM;
  14. m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_STOP_ALARM;
  15. m_Text = "#turn_off";
  16. }
  17. override bool HasProneException()
  18. {
  19. return true;
  20. }
  21. override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
  22. {
  23. ClockBase alarm = ClockBase.Cast(item);
  24. return (alarm.IsRinging() || alarm.IsAlarmOn());
  25. }
  26. override void OnExecuteServer( ActionData action_data )
  27. {
  28. ClockBase alarm = ClockBase.Cast(action_data.m_MainItem);
  29. if (alarm)
  30. alarm.TurnOff();
  31. }
  32. }