TestEventListenerWrap.SetOnFinished C# (CSharp) Method

SetOnFinished() private method

private SetOnFinished ( IntPtr L ) : int
L IntPtr
return int
    static int SetOnFinished(IntPtr L)
    {
        try
        {
            int count = LuaDLL.lua_gettop(L);

            if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(TestEventListener), typeof(TestEventListener.VoidDelegate)))
            {
                TestEventListener obj = (TestEventListener)ToLua.ToObject(L, 1);
                TestEventListener.VoidDelegate arg0 = null;
                LuaTypes funcType2 = LuaDLL.lua_type(L, 2);

                if (funcType2 != LuaTypes.LUA_TFUNCTION)
                {
                     arg0 = (TestEventListener.VoidDelegate)ToLua.ToObject(L, 2);
                }
                else
                {
                    LuaFunction func = ToLua.ToLuaFunction(L, 2);
                    arg0 = DelegateFactory.CreateDelegate(typeof(TestEventListener.VoidDelegate), func) as TestEventListener.VoidDelegate;
                }

                obj.SetOnFinished(arg0);
                return 0;
            }
            else if (count == 2 && TypeChecker.CheckTypes(L, 1, typeof(TestEventListener), typeof(TestEventListener.OnClick)))
            {
                TestEventListener obj = (TestEventListener)ToLua.ToObject(L, 1);
                TestEventListener.OnClick arg0 = null;
                LuaTypes funcType2 = LuaDLL.lua_type(L, 2);

                if (funcType2 != LuaTypes.LUA_TFUNCTION)
                {
                     arg0 = (TestEventListener.OnClick)ToLua.ToObject(L, 2);
                }
                else
                {
                    LuaFunction func = ToLua.ToLuaFunction(L, 2);
                    arg0 = DelegateFactory.CreateDelegate(typeof(TestEventListener.OnClick), func) as TestEventListener.OnClick;
                }

                obj.SetOnFinished(arg0);
                return 0;
            }
            else
            {
                return LuaDLL.luaL_throw(L, "invalid arguments to method: TestEventListener.SetOnFinished");
            }
        }
        catch(Exception e)
        {
            return LuaDLL.toluaL_exception(L, e);
        }
    }