NetworkIDObject.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. /* ----------------------------------------------------------------------------
  2. * This file was automatically generated by SWIG (http://www.swig.org).
  3. * Version 2.0.1
  4. *
  5. * Do not make changes to this file unless you know what you are doing--modify
  6. * the SWIG interface file instead.
  7. * ----------------------------------------------------------------------------- */
  8. namespace RakNet {
  9. using System;
  10. using System.Runtime.InteropServices;
  11. public class NetworkIDObject : IDisposable {
  12. private HandleRef swigCPtr;
  13. protected bool swigCMemOwn;
  14. internal NetworkIDObject(IntPtr cPtr, bool cMemoryOwn) {
  15. swigCMemOwn = cMemoryOwn;
  16. swigCPtr = new HandleRef(this, cPtr);
  17. }
  18. internal static HandleRef getCPtr(NetworkIDObject obj) {
  19. return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
  20. }
  21. ~NetworkIDObject() {
  22. Dispose();
  23. }
  24. public virtual void Dispose() {
  25. lock(this) {
  26. if (swigCPtr.Handle != IntPtr.Zero) {
  27. if (swigCMemOwn) {
  28. swigCMemOwn = false;
  29. RakNetPINVOKE.delete_NetworkIDObject(swigCPtr);
  30. }
  31. swigCPtr = new HandleRef(null, IntPtr.Zero);
  32. }
  33. GC.SuppressFinalize(this);
  34. }
  35. }
  36. NetworkIDManager oldManager;
  37. public virtual void SetNetworkIDManager(NetworkIDManager manager)
  38. {
  39. if (oldManager != null)
  40. {
  41. oldManager.pointerDictionary.Remove(GetIntPtr());
  42. }
  43. if (manager != null)
  44. {
  45. manager.pointerDictionary.Add(GetIntPtr(), this);
  46. oldManager = manager;
  47. }
  48. SetNetworkIDManagerOrig(manager);
  49. }
  50. public IntPtr GetIntPtr()
  51. {
  52. return swigCPtr.Handle;
  53. }
  54. public NetworkIDObject() : this(RakNetPINVOKE.new_NetworkIDObject(), true) {
  55. SwigDirectorConnect();
  56. }
  57. protected void SetNetworkIDManagerOrig(NetworkIDManager manager) {
  58. if (this.GetType() == typeof(NetworkIDObject)) RakNetPINVOKE.NetworkIDObject_SetNetworkIDManagerOrig(swigCPtr, NetworkIDManager.getCPtr(manager)); else RakNetPINVOKE.NetworkIDObject_SetNetworkIDManagerOrigSwigExplicitNetworkIDObject(swigCPtr, NetworkIDManager.getCPtr(manager));
  59. }
  60. public virtual NetworkIDManager GetNetworkIDManager() {
  61. IntPtr cPtr = ((this.GetType() == typeof(NetworkIDObject)) ? RakNetPINVOKE.NetworkIDObject_GetNetworkIDManager(swigCPtr) : RakNetPINVOKE.NetworkIDObject_GetNetworkIDManagerSwigExplicitNetworkIDObject(swigCPtr));
  62. NetworkIDManager ret = (cPtr == IntPtr.Zero) ? null : new NetworkIDManager(cPtr, false);
  63. return ret;
  64. }
  65. public virtual ulong GetNetworkID() {
  66. ulong ret = ((this.GetType() == typeof(NetworkIDObject)) ? RakNetPINVOKE.NetworkIDObject_GetNetworkID(swigCPtr) : RakNetPINVOKE.NetworkIDObject_GetNetworkIDSwigExplicitNetworkIDObject(swigCPtr));
  67. return ret;
  68. }
  69. public virtual void SetNetworkID(ulong id) {
  70. if (this.GetType() == typeof(NetworkIDObject)) RakNetPINVOKE.NetworkIDObject_SetNetworkID(swigCPtr, id); else RakNetPINVOKE.NetworkIDObject_SetNetworkIDSwigExplicitNetworkIDObject(swigCPtr, id);
  71. }
  72. private void SwigDirectorConnect() {
  73. if (SwigDerivedClassHasMethod("SetNetworkIDManagerOrig", swigMethodTypes0))
  74. swigDelegate0 = new SwigDelegateNetworkIDObject_0(SwigDirectorSetNetworkIDManagerOrig);
  75. if (SwigDerivedClassHasMethod("GetNetworkIDManager", swigMethodTypes1))
  76. swigDelegate1 = new SwigDelegateNetworkIDObject_1(SwigDirectorGetNetworkIDManager);
  77. if (SwigDerivedClassHasMethod("GetNetworkID", swigMethodTypes2))
  78. swigDelegate2 = new SwigDelegateNetworkIDObject_2(SwigDirectorGetNetworkID);
  79. if (SwigDerivedClassHasMethod("SetNetworkID", swigMethodTypes3))
  80. swigDelegate3 = new SwigDelegateNetworkIDObject_3(SwigDirectorSetNetworkID);
  81. RakNetPINVOKE.NetworkIDObject_director_connect(swigCPtr, swigDelegate0, swigDelegate1, swigDelegate2, swigDelegate3);
  82. }
  83. private bool SwigDerivedClassHasMethod(string methodName, Type[] methodTypes) {
  84. System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance, null, methodTypes, null);
  85. bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(NetworkIDObject));
  86. return hasDerivedMethod;
  87. }
  88. private void SwigDirectorSetNetworkIDManagerOrig(IntPtr manager) {
  89. SetNetworkIDManagerOrig((manager == IntPtr.Zero) ? null : new NetworkIDManager(manager, false));
  90. }
  91. private IntPtr SwigDirectorGetNetworkIDManager() {
  92. return NetworkIDManager.getCPtr(GetNetworkIDManager()).Handle;
  93. }
  94. private ulong SwigDirectorGetNetworkID() {
  95. return GetNetworkID();
  96. }
  97. private void SwigDirectorSetNetworkID(ulong id) {
  98. SetNetworkID(id);
  99. }
  100. public delegate void SwigDelegateNetworkIDObject_0(IntPtr manager);
  101. public delegate IntPtr SwigDelegateNetworkIDObject_1();
  102. public delegate ulong SwigDelegateNetworkIDObject_2();
  103. public delegate void SwigDelegateNetworkIDObject_3(ulong id);
  104. private SwigDelegateNetworkIDObject_0 swigDelegate0;
  105. private SwigDelegateNetworkIDObject_1 swigDelegate1;
  106. private SwigDelegateNetworkIDObject_2 swigDelegate2;
  107. private SwigDelegateNetworkIDObject_3 swigDelegate3;
  108. private static Type[] swigMethodTypes0 = new Type[] { typeof(NetworkIDManager) };
  109. private static Type[] swigMethodTypes1 = new Type[] { };
  110. private static Type[] swigMethodTypes2 = new Type[] { };
  111. private static Type[] swigMethodTypes3 = new Type[] { typeof(ulong) };
  112. }
  113. }
粤ICP备19079148号