actionturnonalarmclock.c 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. class ActionTurnOnAlarmClockCB : ActionSingleUseBaseCB
  2. {
  3. override void CreateActionComponent()
  4. {
  5. m_ActionData.m_ActionComponent = new CASingleUseTurnOnPlugged;
  6. }
  7. }
  8. class ActionTurnOnAlarmClock: ActionTurnOnWhileInHands
  9. {
  10. void ActionTurnOnAlarmClock()
  11. {
  12. m_CallbackClass = ActionTurnOnAlarmClockCB;
  13. m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_STOP_ALARM;
  14. m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_STOP_ALARM;
  15. m_Text = "#turn_on";
  16. }
  17. override bool HasProneException()
  18. {
  19. return true;
  20. }
  21. override bool ActionCondition ( PlayerBase player, ActionTarget target, ItemBase item )
  22. {
  23. AlarmClock_ColorBase alarm = AlarmClock_ColorBase.Cast(item);
  24. return (!alarm.IsAlarmOn() && !alarm.IsRinging());
  25. }
  26. /*
  27. override void OnExecuteClient( ActionData action_data )
  28. {
  29. AlarmClock_ColorBase alarm = AlarmClock_ColorBase.Cast(action_data.m_MainItem);
  30. if (alarm)
  31. alarm.TurnOnClient();
  32. }
  33. */
  34. override void OnExecuteServer( ActionData action_data )
  35. {
  36. AlarmClock_ColorBase alarm = AlarmClock_ColorBase.Cast(action_data.m_MainItem);
  37. if (alarm)
  38. alarm.TurnOn();
  39. }
  40. }