actionsequentialbase.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. class SequentialActionData : ActionData
  2. {
  3. int m_Stage;
  4. void MultiStageBaseActionData()
  5. {
  6. m_Stage = 0;
  7. }
  8. }
  9. class ActionSequentialBase : ActionBase
  10. {
  11. void ActionMultiStageBase()
  12. {
  13. }
  14. override ActionData CreateActionData()
  15. {
  16. ActionData action_data = new SequentialActionData;
  17. return action_data;
  18. }
  19. override int GetStanceMask(PlayerBase player)
  20. {
  21. return DayZPlayerConstants.STANCEMASK_ALL;
  22. }
  23. override int GetActionCategory()
  24. {
  25. return AC_SINGLE_USE;
  26. }
  27. override typename GetInputType()
  28. {
  29. return DefaultActionInput;
  30. }
  31. override bool CanBePerformedFromInventory()
  32. {
  33. return true;
  34. }
  35. override bool CanBeUsedOnBack()
  36. {
  37. return true;
  38. }
  39. override bool CanBeUsedRaised()
  40. {
  41. return true;
  42. }
  43. override void Start( ActionData action_data )
  44. {
  45. super.Start( action_data );
  46. SequentialActionData ad = SequentialActionData.Cast( action_data );
  47. OnStageStart( ad );
  48. }
  49. void SetStage(int stage, SequentialActionData action_data)
  50. {
  51. OnStageEnd(action_data);
  52. action_data.m_Stage = stage;
  53. OnStageStart(action_data);
  54. }
  55. void OnStageStart(SequentialActionData action_data)
  56. {
  57. }
  58. void OnStageEnd(SequentialActionData action_data)
  59. {
  60. }
  61. override float GetProgress( ActionData action_data )
  62. {
  63. return -1;
  64. }
  65. };