/// <summary> /// 创建一个实体 /// </summary> /// <param name="type">实体类型 1:GameObject;2:UI</param> /// <param name="assetName">资源名称</param> /// <param name="onCreateGameObject">创建成功回调</param> /// <returns></returns> public static int CreateGameObjectAsync(int type, string assetName, GameObjectPool.OnCreateGameObject onCreateGameObject) { int requestId = CreateAssetAsync(assetName, (Object tAsset, int tRequestId) => { int instanceId = GameObjectPool.AddGameObject(type, assetName, tAsset); onCreateGameObject(instanceId, tRequestId); }); return(requestId); }
static int CreateGameObjectAsync(IntPtr L) { try { ToLua.CheckArgsCount(L, 3); int arg0 = (int)LuaDLL.luaL_checknumber(L, 1); string arg1 = ToLua.CheckString(L, 2); GameObjectPool.OnCreateGameObject arg2 = (GameObjectPool.OnCreateGameObject)ToLua.CheckDelegate <GameObjectPool.OnCreateGameObject>(L, 3); int o = ResourceUtil.CreateGameObjectAsync(arg0, arg1, arg2); LuaDLL.lua_pushinteger(L, o); return(1); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public GameObjectPool.OnCreateGameObject GameObjectPool_OnCreateGameObject(LuaFunction func, LuaTable self, bool flag) { if (func == null) { GameObjectPool.OnCreateGameObject fn = delegate(int param0, int param1) { }; return(fn); } if (!flag) { GameObjectPool_OnCreateGameObject_Event target = new GameObjectPool_OnCreateGameObject_Event(func); GameObjectPool.OnCreateGameObject d = target.Call; target.method = d.Method; return(d); } else { GameObjectPool_OnCreateGameObject_Event target = new GameObjectPool_OnCreateGameObject_Event(func, self); GameObjectPool.OnCreateGameObject d = target.CallWithSelf; target.method = d.Method; return(d); } }
void Push_GameObjectPool_OnCreateGameObject(IntPtr L, GameObjectPool.OnCreateGameObject o) { ToLua.Push(L, o); }