Event.cs 788 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. namespace ENet
  2. {
  3. public class Event
  4. {
  5. private readonly Host host;
  6. private readonly ENetEvent ev;
  7. public Event(Host host, ENetEvent ev)
  8. {
  9. this.host = host;
  10. this.ev = ev;
  11. }
  12. public ENetEvent Ev
  13. {
  14. get
  15. {
  16. return this.ev;
  17. }
  18. }
  19. public Packet Packet
  20. {
  21. get
  22. {
  23. return new Packet(this.host, this.Ev.packet);
  24. }
  25. }
  26. public Peer Peer
  27. {
  28. get
  29. {
  30. var peerPtr = this.Ev.peer;
  31. if (!this.host.PeersManager.ContainsKey(this.Ev.peer))
  32. {
  33. var peer = new Peer(this.host, peerPtr);
  34. this.host.PeersManager.Add(peerPtr, peer);
  35. return peer;
  36. }
  37. else
  38. {
  39. Peer peer = this.host.PeersManager[peerPtr];
  40. return peer;
  41. }
  42. }
  43. }
  44. public EventType Type
  45. {
  46. get
  47. {
  48. return this.Ev.type;
  49. }
  50. }
  51. }
  52. }