ToLua_UnityEngine_Object.cs 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. using UnityEngine;
  2. using System.Collections;
  3. using LuaInterface;
  4. public class ToLua_UnityEngine_Object
  5. {
  6. public static string DestroyDefined =
  7. @" try
  8. {
  9. int count = LuaDLL.lua_gettop(L);
  10. if (count == 1)
  11. {
  12. UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.CheckObject<UnityEngine.Object>(L, 1);
  13. ToLua.Destroy(L);
  14. UnityEngine.Object.Destroy(arg0);
  15. return 0;
  16. }
  17. else if (count == 2)
  18. {
  19. float arg1 = (float)LuaDLL.luaL_checknumber(L, 2);
  20. int udata = LuaDLL.tolua_rawnetobj(L, 1);
  21. ObjectTranslator translator = LuaState.GetTranslator(L);
  22. translator.DelayDestroy(udata, arg1);
  23. return 0;
  24. }
  25. else
  26. {
  27. return LuaDLL.luaL_throw(L, ""invalid arguments to method: Object.Destroy"");
  28. }
  29. }
  30. catch (Exception e)
  31. {
  32. return LuaDLL.toluaL_exception(L, e);
  33. }";
  34. public static string DestroyImmediateDefined =
  35. @" try
  36. {
  37. int count = LuaDLL.lua_gettop(L);
  38. if (count == 1)
  39. {
  40. UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.CheckObject<UnityEngine.Object>(L, 1);
  41. ToLua.Destroy(L);
  42. UnityEngine.Object.DestroyImmediate(arg0);
  43. return 0;
  44. }
  45. else if (count == 2)
  46. {
  47. UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.CheckObject<UnityEngine.Object>(L, 1);
  48. bool arg1 = LuaDLL.luaL_checkboolean(L, 2);
  49. ToLua.Destroy(L);
  50. UnityEngine.Object.DestroyImmediate(arg0, arg1);
  51. return 0;
  52. }
  53. else
  54. {
  55. return LuaDLL.luaL_throw(L, ""invalid arguments to method: Object.DestroyImmediate"");
  56. }
  57. }
  58. catch (Exception e)
  59. {
  60. return LuaDLL.toluaL_exception(L, e);
  61. }";
  62. public static string InstantiateDefined =
  63. @" IntPtr L0 = LuaException.L;
  64. try
  65. {
  66. ++LuaException.InstantiateCount;
  67. LuaException.L = L;
  68. int count = LuaDLL.lua_gettop(L);
  69. if (count == 1)
  70. {
  71. UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.CheckObject<UnityEngine.Object>(L, 1);
  72. UnityEngine.Object o = UnityEngine.Object.Instantiate(arg0);
  73. if (LuaDLL.lua_toboolean(L, LuaDLL.lua_upvalueindex(1)))
  74. {
  75. string error = LuaDLL.lua_tostring(L, -1);
  76. LuaDLL.lua_pop(L, 1);
  77. throw new LuaException(error, LuaException.GetLastError());
  78. }
  79. else
  80. {
  81. ToLua.Push(L, o);
  82. }
  83. LuaException.L = L0;
  84. --LuaException.InstantiateCount;
  85. return 1;
  86. }
  87. #if UNITY_5_4_OR_NEWER
  88. else if (count == 2)
  89. {
  90. UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.CheckObject<UnityEngine.Object>(L, 1);
  91. UnityEngine.Transform arg1 = (UnityEngine.Transform)ToLua.CheckObject<UnityEngine.Transform>(L, 2);
  92. UnityEngine.Object o = UnityEngine.Object.Instantiate(arg0, arg1);
  93. if (LuaDLL.lua_toboolean(L, LuaDLL.lua_upvalueindex(1)))
  94. {
  95. string error = LuaDLL.lua_tostring(L, -1);
  96. LuaDLL.lua_pop(L, 1);
  97. throw new LuaException(error, LuaException.GetLastError());
  98. }
  99. else
  100. {
  101. ToLua.Push(L, o);
  102. }
  103. LuaException.L = L0;
  104. --LuaException.InstantiateCount;
  105. return 1;
  106. }
  107. #endif
  108. else if (count == 3 && TypeChecker.CheckTypes<UnityEngine.Vector3, UnityEngine.Quaternion>(L, 2))
  109. {
  110. UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.CheckObject<UnityEngine.Object>(L, 1);
  111. UnityEngine.Vector3 arg1 = ToLua.ToVector3(L, 2);
  112. UnityEngine.Quaternion arg2 = ToLua.ToQuaternion(L, 3);
  113. UnityEngine.Object o = UnityEngine.Object.Instantiate(arg0, arg1, arg2);
  114. if (LuaDLL.lua_toboolean(L, LuaDLL.lua_upvalueindex(1)))
  115. {
  116. string error = LuaDLL.lua_tostring(L, -1);
  117. LuaDLL.lua_pop(L, 1);
  118. throw new LuaException(error, LuaException.GetLastError());
  119. }
  120. else
  121. {
  122. ToLua.Push(L, o);
  123. }
  124. LuaException.L = L0;
  125. --LuaException.InstantiateCount;
  126. return 1;
  127. }
  128. #if UNITY_5_4_OR_NEWER
  129. else if (count == 3 && TypeChecker.CheckTypes<UnityEngine.Transform, bool>(L, 2))
  130. {
  131. UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.CheckObject<UnityEngine.Object>(L, 1);
  132. UnityEngine.Transform arg1 = (UnityEngine.Transform)ToLua.ToObject(L, 2);
  133. bool arg2 = LuaDLL.lua_toboolean(L, 3);
  134. UnityEngine.Object o = UnityEngine.Object.Instantiate(arg0, arg1, arg2);
  135. if (LuaDLL.lua_toboolean(L, LuaDLL.lua_upvalueindex(1)))
  136. {
  137. string error = LuaDLL.lua_tostring(L, -1);
  138. LuaDLL.lua_pop(L, 1);
  139. throw new LuaException(error, LuaException.GetLastError());
  140. }
  141. else
  142. {
  143. ToLua.Push(L, o);
  144. }
  145. LuaException.L = L0;
  146. --LuaException.InstantiateCount;
  147. return 1;
  148. }
  149. else if (count == 4)
  150. {
  151. UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.CheckObject<UnityEngine.Object>(L, 1);
  152. UnityEngine.Vector3 arg1 = ToLua.CheckVector3(L, 2);
  153. UnityEngine.Quaternion arg2 = ToLua.CheckQuaternion(L, 3);
  154. UnityEngine.Transform arg3 = (UnityEngine.Transform)ToLua.CheckObject<UnityEngine.Transform>(L, 4);
  155. UnityEngine.Object o = UnityEngine.Object.Instantiate(arg0, arg1, arg2, arg3);
  156. if (LuaDLL.lua_toboolean(L, LuaDLL.lua_upvalueindex(1)))
  157. {
  158. string error = LuaDLL.lua_tostring(L, -1);
  159. LuaDLL.lua_pop(L, 1);
  160. throw new LuaException(error, LuaException.GetLastError());
  161. }
  162. else
  163. {
  164. ToLua.Push(L, o);
  165. }
  166. LuaException.L = L0;
  167. --LuaException.InstantiateCount;
  168. return 1;
  169. }
  170. #endif
  171. else
  172. {
  173. LuaException.L = L0;
  174. --LuaException.InstantiateCount;
  175. return LuaDLL.luaL_throw(L, ""invalid arguments to method: UnityEngine.Object.Instantiate"");
  176. }
  177. }
  178. catch (Exception e)
  179. {
  180. LuaException.L = L0;
  181. --LuaException.InstantiateCount;
  182. return LuaDLL.toluaL_exception(L, e);
  183. }";
  184. [UseDefinedAttribute]
  185. public static void Destroy(Object obj)
  186. {
  187. }
  188. [UseDefinedAttribute]
  189. public static void DestroyImmediate(Object obj)
  190. {
  191. }
  192. [NoToLuaAttribute]
  193. public static void DestroyObject(Object obj)
  194. {
  195. }
  196. [NoToLuaAttribute]
  197. public static void DestroyObject(Object obj, float t)
  198. {
  199. }
  200. [UseDefinedAttribute]
  201. public static void Instantiate(Object original)
  202. {
  203. }
  204. }