undergroundbunkertrigger.c 960 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. class UndergroundBunkerTriggerData
  2. {
  3. vector m_Position;
  4. vector m_Size;
  5. EUndergroundTriggerType m_Type;
  6. string m_LinkedDoorSelection;
  7. };
  8. class UndergroundBunkerTrigger : UndergroundTrigger
  9. {
  10. string m_LinkedDoorSelection;
  11. void Init(UndergroundBunkerTriggerData data)
  12. {
  13. m_Type = data.m_Type;
  14. m_LinkedDoorSelection = data.m_LinkedDoorSelection;
  15. }
  16. override protected void OnEnterClientEvent(TriggerInsider insider)
  17. {
  18. PlayerBase player = PlayerBase.Cast(insider.GetObject());
  19. if (player)
  20. {
  21. UndergroundBunkerHandlerClient handler = player.GetUndergroundBunkerHandler();
  22. if (handler)
  23. {
  24. handler.OnTriggerEnter(this);
  25. }
  26. }
  27. }
  28. override protected void OnLeaveClientEvent(TriggerInsider insider)
  29. {
  30. PlayerBase player = PlayerBase.Cast(insider.GetObject());
  31. if (player)
  32. {
  33. UndergroundBunkerHandlerClient handler = player.GetUndergroundBunkerHandler();
  34. if (handler)
  35. {
  36. handler.OnTriggerLeave(this);
  37. }
  38. }
  39. }
  40. }