Extensions.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. using LuaInterface;
  2. public static partial class Extensions
  3. {
  4. public static void CallCS2Lua(this LuaTable lua, string strFunc_)
  5. {
  6. if (!LuaMgr.HasInstance())
  7. return;
  8. if (lua != null)
  9. {
  10. LuaFunction tableFunc = lua.GetLuaFunction(strFunc_);
  11. tableFunc.Call(lua);
  12. tableFunc.Dispose();
  13. tableFunc = null;
  14. }
  15. }
  16. public static void CallCS2Lua<T1>(this LuaTable lua, string strFunc_, T1 arg1)
  17. {
  18. if (!LuaMgr.HasInstance())
  19. return;
  20. if (lua != null)
  21. {
  22. LuaFunction tableFunc = lua.GetLuaFunction(strFunc_);
  23. tableFunc.Call(lua, arg1);
  24. tableFunc.Dispose();
  25. tableFunc = null;
  26. }
  27. }
  28. public static void CallCS2Lua<T1, T2>(this LuaTable lua, string strFunc_, T1 arg1, T2 arg2)
  29. {
  30. if (!LuaMgr.HasInstance())
  31. return;
  32. if (lua != null)
  33. {
  34. LuaFunction tableFunc = lua.GetLuaFunction(strFunc_);
  35. tableFunc.Call(lua, arg1, arg2);
  36. tableFunc.Dispose();
  37. tableFunc = null;
  38. }
  39. }
  40. public static void CallCS2Lua<T1, T2, T3>(this LuaTable lua, string strFunc_, T1 arg1, T2 arg2, T3 arg3)
  41. {
  42. if (!LuaMgr.HasInstance())
  43. return;
  44. if (lua != null)
  45. {
  46. LuaFunction tableFunc = lua.GetLuaFunction(strFunc_);
  47. tableFunc.Call(lua, arg1, arg2, arg3);
  48. tableFunc.Dispose();
  49. tableFunc = null;
  50. }
  51. }
  52. public static void CallCS2Lua<T1, T2, T3, T4>(this LuaTable lua, string strFunc_, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
  53. {
  54. if (!LuaMgr.HasInstance())
  55. return;
  56. if (lua != null)
  57. {
  58. LuaFunction tableFunc = lua.GetLuaFunction(strFunc_);
  59. tableFunc.Call(lua, arg1, arg2, arg3, arg4);
  60. tableFunc.Dispose();
  61. tableFunc = null;
  62. }
  63. }
  64. public static void CallCS2Lua<T1, T2, T3, T4, T5>(this LuaTable lua, string strFunc_, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
  65. {
  66. if (!LuaMgr.HasInstance())
  67. return;
  68. if (lua != null)
  69. {
  70. LuaFunction tableFunc = lua.GetLuaFunction(strFunc_);
  71. tableFunc.Call(lua, arg1, arg2, arg3, arg4, arg5);
  72. tableFunc.Dispose();
  73. tableFunc = null;
  74. }
  75. }
  76. public static void CallCS2Lua<T1, T2, T3, T4, T5, T6>(this LuaTable lua, string strFunc_, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6)
  77. {
  78. if (!LuaMgr.HasInstance())
  79. return;
  80. if (lua != null)
  81. {
  82. LuaFunction tableFunc = lua.GetLuaFunction(strFunc_);
  83. tableFunc.Call(lua, arg1, arg2, arg3, arg4, arg5, arg6);
  84. tableFunc.Dispose();
  85. tableFunc = null;
  86. }
  87. }
  88. public static void CallCS2Lua<T1, T2, T3, T4, T5, T6, T7>(this LuaTable lua, string strFunc_, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
  89. {
  90. if (!LuaMgr.HasInstance())
  91. return;
  92. if (lua != null)
  93. {
  94. LuaFunction tableFunc = lua.GetLuaFunction(strFunc_);
  95. tableFunc.Call(lua, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
  96. tableFunc.Dispose();
  97. tableFunc = null;
  98. }
  99. }
  100. public static R1 InvokeCS2Lua<T1, T2, R1>(this LuaTable lua, string strFunc_, T1 arg1, T2 arg2)
  101. {
  102. if (!LuaMgr.HasInstance())
  103. return default(R1);
  104. if (lua != null)
  105. {
  106. LuaFunction tableFunc = lua.GetLuaFunction(strFunc_);
  107. R1 value = tableFunc.Invoke<LuaTable, T1, T2, R1>(lua, arg1, arg2);
  108. // tableFunc.Dispose();
  109. // tableFunc = null;
  110. return value;
  111. }
  112. return default(R1);
  113. }
  114. }