Ejemplo n.º 1
0
    /// <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);
    }
Ejemplo n.º 2
0
 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));
     }
 }
Ejemplo n.º 3
0
    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);
        }
    }
Ejemplo n.º 4
0
 void Push_GameObjectPool_OnCreateGameObject(IntPtr L, GameObjectPool.OnCreateGameObject o)
 {
     ToLua.Push(L, o);
 }