actionsetkitchentimer.c 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. class ActionSetKitchenTimerCB : ActionContinuousBaseCB
  2. {
  3. const float TIME_TO_COMPLETE = 24.0;
  4. override void CreateActionComponent()
  5. {
  6. m_ActionData.m_ActionComponent = new CAContinuousRepeat(TIME_TO_COMPLETE);
  7. KitchenTimer clock = KitchenTimer.Cast(m_ActionData.m_MainItem);
  8. CAContinuousRepeat.Cast(m_ActionData.m_ActionComponent).SetProgress(clock.GetAnimationPhase("ClockAlarm") * TIME_TO_COMPLETE);
  9. }
  10. };
  11. class ActionSetKitchenTimer: ActionContinuousBase
  12. {
  13. void ActionSetKitchenTimer()
  14. {
  15. m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_SET_KITCHENTIMER;
  16. m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONMOD_SET_KITCHENTIMER;
  17. m_SpecialtyWeight = 0;
  18. m_CallbackClass = ActionSetKitchenTimerCB;
  19. m_Text = "#STR_SetTimer0";
  20. }
  21. override void CreateConditionComponents()
  22. {
  23. m_ConditionTarget = new CCTSelf;
  24. m_ConditionItem = new CCINonRuined;
  25. }
  26. override bool HasProneException()
  27. {
  28. return true;
  29. }
  30. override bool HasTarget()
  31. {
  32. return false;
  33. }
  34. override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
  35. {
  36. return true;
  37. }
  38. override void OnEndServer(ActionData action_data)
  39. {
  40. super.OnEndServer(action_data);
  41. float progress = action_data.m_Callback.GetActionComponentProgress();
  42. KitchenTimer clock = KitchenTimer.Cast(action_data.m_MainItem);
  43. clock.SetAlarmTimeServer(progress);
  44. }
  45. override void OnEndAnimationLoopServer( ActionData action_data )
  46. {
  47. }
  48. override void OnUpdate(ActionData action_data)
  49. {
  50. float progress = action_data.m_Callback.GetActionComponentProgress();
  51. KitchenTimer clock = KitchenTimer.Cast(action_data.m_MainItem);
  52. clock.SetAnimationPhaseNow("ClockAlarm", progress);
  53. }
  54. };