コード例 #1
0
    static int Destroy(IntPtr L)
    {
        int count = LuaDLL.lua_gettop(L);

        if (count == 1)
        {
            UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.CheckObject(L, 1);
            ToLua.Destroy(L);
            UnityEngine.Object.Destroy(arg0);
            return(0);
        }
        else if (count == 2)
        {
            UnityEngine.Object arg0     = (UnityEngine.Object)ToLua.CheckObject(L, 1);
            float            arg1       = (float)LuaDLL.luaL_checknumber(L, 2);
            int              udata      = LuaDLL.tolua_rawnetobj(L, 1);
            ObjectTranslator translator = LuaState.GetTranslator(L);

            Action Call = () =>
            {
                translator.Destroy(udata);
                UnityEngine.Object.Destroy(arg0);
            };

            translator.DelayDestroy(Call, arg1);
            return(0);
        }
        else
        {
            LuaDLL.luaL_error(L, "invalid arguments to method: Object.Destroy");
        }

        return(0);
    }
コード例 #2
0
    static int Destroy(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 1)
            {
                UnityEngine.Object arg0 = (UnityEngine.Object)ToLua.CheckObject(L, 1);
                ToLua.Destroy(L);
                UnityEngine.Object.Destroy(arg0);
                return(0);
            }
            else if (count == 2)
            {
                float            arg1       = (float)LuaDLL.luaL_checknumber(L, 2);
                int              udata      = LuaDLL.tolua_rawnetobj(L, 1);
                ObjectTranslator translator = LuaState.GetTranslator(L);
                translator.DelayDestroy(udata, arg1);
                return(0);
            }
            else
            {
                return(LuaDLL.luaL_throw(L, "invalid arguments to method: Object.Destroy"));
            }
        }
        catch (Exception e)
        {
            return(LuaDLL.toluaL_exception(L, e));
        }
    }
コード例 #3
0
    private static int Destroy(IntPtr L)
    {
        int result;

        try
        {
            int num = LuaDLL.lua_gettop(L);
            if (num == 1)
            {
                UnityEngine.Object obj = (UnityEngine.Object)ToLua.CheckObject(L, 1);
                ToLua.Destroy(L);
                UnityEngine.Object.Destroy(obj);
                result = 0;
            }
            else if (num == 2)
            {
                float            time       = (float)LuaDLL.luaL_checknumber(L, 2);
                int              id         = LuaDLL.tolua_rawnetobj(L, 1);
                ObjectTranslator translator = LuaState.GetTranslator(L);
                translator.DelayDestroy(id, time);
                result = 0;
            }
            else
            {
                result = LuaDLL.luaL_throw(L, "invalid arguments to method: Object.Destroy");
            }
        }
        catch (Exception e)
        {
            result = LuaDLL.toluaL_exception(L, e, null);
        }
        return(result);
    }