actionuseundergroundlever.c 953 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. class ActionUseUndergroundLever: ActionInteractBase
  2. {
  3. void ActionUseUndergroundLever()
  4. {
  5. m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_OPENDOORFW;
  6. m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
  7. m_Text = "#use";
  8. }
  9. override void CreateConditionComponents()
  10. {
  11. m_ConditionItem = new CCINone;
  12. m_ConditionTarget = new CCTCursor;
  13. }
  14. override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
  15. {
  16. Land_Underground_Panel trgt = Land_Underground_Panel.Cast(target.GetObject());
  17. if ( !trgt )
  18. return false;
  19. return (trgt.CanInteract());
  20. }
  21. override void OnStartServer( ActionData action_data )
  22. {
  23. super.OnStartServer(action_data);
  24. Land_Underground_Panel target = Land_Underground_Panel.Cast(action_data.m_Target.GetObject());
  25. if (!target)
  26. return;
  27. target.Interact();
  28. }
  29. override bool IsLockTargetOnUse()
  30. {
  31. return false;
  32. }
  33. };