static int OnWaypointChange(IntPtr L)
    {
        LuaScriptMgr.CheckArgsCount(L, 2);
        DG.Tweening.Tween obj = (DG.Tweening.Tween)LuaScriptMgr.GetNetObjectSelf(L, 1, "DG.Tweening.Tween");
        DG.Tweening.TweenCallback <int> arg0 = null;
        LuaTypes funcType2 = LuaDLL.lua_type(L, 2);

        if (funcType2 != LuaTypes.LUA_TFUNCTION)
        {
            arg0 = (DG.Tweening.TweenCallback <int>)LuaScriptMgr.GetNetObject(L, 2, typeof(DG.Tweening.TweenCallback <int>));
        }
        else
        {
            LuaFunction func = LuaScriptMgr.GetLuaFunction(L, 2);
            arg0 = (param0) =>
            {
                int top = func.BeginPCall();
                LuaScriptMgr.Push(L, param0);
                func.PCall(top, 1);
                func.EndPCall(top);
            };
        }

        DG.Tweening.Tween o = obj.OnWaypointChange(arg0);
        LuaScriptMgr.PushObject(L, o);
        return(1);
    }
 static int OnWaypointChange(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         DG.Tweening.Tween obj = (DG.Tweening.Tween)ToLua.CheckObject <DG.Tweening.Tween>(L, 1);
         DG.Tweening.TweenCallback <int> arg0 = (DG.Tweening.TweenCallback <int>)ToLua.CheckDelegate <DG.Tweening.TweenCallback <int> >(L, 2);
         DG.Tweening.Tween o = obj.OnWaypointChange(arg0);
         ToLua.PushObject(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }