static int _m_UpdateObstacle(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                Pathfinding.RVO.Simulator gen_to_be_invoked = (Pathfinding.RVO.Simulator)translator.FastGetCSObj(L, 1);



                {
                    Pathfinding.RVO.ObstacleVertex _obstacle = (Pathfinding.RVO.ObstacleVertex)translator.GetObject(L, 2, typeof(Pathfinding.RVO.ObstacleVertex));
                    UnityEngine.Vector3[]          _vertices = (UnityEngine.Vector3[])translator.GetObject(L, 3, typeof(UnityEngine.Vector3[]));
                    UnityEngine.Matrix4x4          _matrix; translator.Get(L, 4, out _matrix);

                    gen_to_be_invoked.UpdateObstacle(_obstacle, _vertices, _matrix);



                    return(0);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }
        static int _g_get_ignore(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                Pathfinding.RVO.ObstacleVertex gen_to_be_invoked = (Pathfinding.RVO.ObstacleVertex)translator.FastGetCSObj(L, 1);
                LuaAPI.lua_pushboolean(L, gen_to_be_invoked.ignore);
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(1);
        }
        static int _s_set_prev(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                Pathfinding.RVO.ObstacleVertex gen_to_be_invoked = (Pathfinding.RVO.ObstacleVertex)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.prev = (Pathfinding.RVO.ObstacleVertex)translator.GetObject(L, 2, typeof(Pathfinding.RVO.ObstacleVertex));
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(0);
        }
        static int _s_set_height(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                Pathfinding.RVO.ObstacleVertex gen_to_be_invoked = (Pathfinding.RVO.ObstacleVertex)translator.FastGetCSObj(L, 1);
                gen_to_be_invoked.height = (float)LuaAPI.lua_tonumber(L, 2);
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(0);
        }
        static int _g_get_dir(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                Pathfinding.RVO.ObstacleVertex gen_to_be_invoked = (Pathfinding.RVO.ObstacleVertex)translator.FastGetCSObj(L, 1);
                translator.PushUnityEngineVector2(L, gen_to_be_invoked.dir);
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(1);
        }
        static int _s_set_layer(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);

                Pathfinding.RVO.ObstacleVertex gen_to_be_invoked = (Pathfinding.RVO.ObstacleVertex)translator.FastGetCSObj(L, 1);
                Pathfinding.RVO.RVOLayer       gen_value; translator.Get(L, 2, out gen_value);
                gen_to_be_invoked.layer = gen_value;
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(0);
        }
        static int __CreateInstance(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);
                if (LuaAPI.lua_gettop(L) == 1)
                {
                    Pathfinding.RVO.ObstacleVertex gen_ret = new Pathfinding.RVO.ObstacleVertex();
                    translator.Push(L, gen_ret);

                    return(1);
                }
            }
            catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
            return(LuaAPI.luaL_error(L, "invalid arguments to Pathfinding.RVO.ObstacleVertex constructor!"));
        }
        static int _m_RemoveObstacle(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                Pathfinding.RVO.Simulator gen_to_be_invoked = (Pathfinding.RVO.Simulator)translator.FastGetCSObj(L, 1);



                {
                    Pathfinding.RVO.ObstacleVertex _v = (Pathfinding.RVO.ObstacleVertex)translator.GetObject(L, 2, typeof(Pathfinding.RVO.ObstacleVertex));

                    gen_to_be_invoked.RemoveObstacle(_v);



                    return(0);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }
        }
        static int _m_AddObstacle(RealStatePtr L)
        {
            try {
                ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


                Pathfinding.RVO.Simulator gen_to_be_invoked = (Pathfinding.RVO.Simulator)translator.FastGetCSObj(L, 1);


                int gen_param_count = LuaAPI.lua_gettop(L);

                if (gen_param_count == 2 && translator.Assignable <Pathfinding.RVO.ObstacleVertex>(L, 2))
                {
                    Pathfinding.RVO.ObstacleVertex _v = (Pathfinding.RVO.ObstacleVertex)translator.GetObject(L, 2, typeof(Pathfinding.RVO.ObstacleVertex));

                    Pathfinding.RVO.ObstacleVertex gen_ret = gen_to_be_invoked.AddObstacle(_v);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 4 && translator.Assignable <UnityEngine.Vector3[]>(L, 2) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 4))
                {
                    UnityEngine.Vector3[] _vertices = (UnityEngine.Vector3[])translator.GetObject(L, 2, typeof(UnityEngine.Vector3[]));
                    float _height = (float)LuaAPI.lua_tonumber(L, 3);
                    bool  _cycle  = LuaAPI.lua_toboolean(L, 4);

                    Pathfinding.RVO.ObstacleVertex gen_ret = gen_to_be_invoked.AddObstacle(_vertices, _height, _cycle);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 3 && translator.Assignable <UnityEngine.Vector3[]>(L, 2) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3))
                {
                    UnityEngine.Vector3[] _vertices = (UnityEngine.Vector3[])translator.GetObject(L, 2, typeof(UnityEngine.Vector3[]));
                    float _height = (float)LuaAPI.lua_tonumber(L, 3);

                    Pathfinding.RVO.ObstacleVertex gen_ret = gen_to_be_invoked.AddObstacle(_vertices, _height);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 4 && translator.Assignable <UnityEngine.Vector3>(L, 2) && translator.Assignable <UnityEngine.Vector3>(L, 3) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 4))
                {
                    UnityEngine.Vector3 _a; translator.Get(L, 2, out _a);
                    UnityEngine.Vector3 _b; translator.Get(L, 3, out _b);
                    float _height = (float)LuaAPI.lua_tonumber(L, 4);

                    Pathfinding.RVO.ObstacleVertex gen_ret = gen_to_be_invoked.AddObstacle(_a, _b, _height);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 6 && translator.Assignable <UnityEngine.Vector3[]>(L, 2) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3) && translator.Assignable <UnityEngine.Matrix4x4>(L, 4) && translator.Assignable <Pathfinding.RVO.RVOLayer>(L, 5) && LuaTypes.LUA_TBOOLEAN == LuaAPI.lua_type(L, 6))
                {
                    UnityEngine.Vector3[] _vertices = (UnityEngine.Vector3[])translator.GetObject(L, 2, typeof(UnityEngine.Vector3[]));
                    float _height = (float)LuaAPI.lua_tonumber(L, 3);
                    UnityEngine.Matrix4x4    _matrix; translator.Get(L, 4, out _matrix);
                    Pathfinding.RVO.RVOLayer _layer; translator.Get(L, 5, out _layer);
                    bool _cycle = LuaAPI.lua_toboolean(L, 6);

                    Pathfinding.RVO.ObstacleVertex gen_ret = gen_to_be_invoked.AddObstacle(_vertices, _height, _matrix, _layer, _cycle);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 5 && translator.Assignable <UnityEngine.Vector3[]>(L, 2) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3) && translator.Assignable <UnityEngine.Matrix4x4>(L, 4) && translator.Assignable <Pathfinding.RVO.RVOLayer>(L, 5))
                {
                    UnityEngine.Vector3[] _vertices = (UnityEngine.Vector3[])translator.GetObject(L, 2, typeof(UnityEngine.Vector3[]));
                    float _height = (float)LuaAPI.lua_tonumber(L, 3);
                    UnityEngine.Matrix4x4    _matrix; translator.Get(L, 4, out _matrix);
                    Pathfinding.RVO.RVOLayer _layer; translator.Get(L, 5, out _layer);

                    Pathfinding.RVO.ObstacleVertex gen_ret = gen_to_be_invoked.AddObstacle(_vertices, _height, _matrix, _layer);
                    translator.Push(L, gen_ret);



                    return(1);
                }
                if (gen_param_count == 4 && translator.Assignable <UnityEngine.Vector3[]>(L, 2) && LuaTypes.LUA_TNUMBER == LuaAPI.lua_type(L, 3) && translator.Assignable <UnityEngine.Matrix4x4>(L, 4))
                {
                    UnityEngine.Vector3[] _vertices = (UnityEngine.Vector3[])translator.GetObject(L, 2, typeof(UnityEngine.Vector3[]));
                    float _height = (float)LuaAPI.lua_tonumber(L, 3);
                    UnityEngine.Matrix4x4 _matrix; translator.Get(L, 4, out _matrix);

                    Pathfinding.RVO.ObstacleVertex gen_ret = gen_to_be_invoked.AddObstacle(_vertices, _height, _matrix);
                    translator.Push(L, gen_ret);



                    return(1);
                }
            } catch (System.Exception gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + gen_e));
            }

            return(LuaAPI.luaL_error(L, "invalid arguments to Pathfinding.RVO.Simulator.AddObstacle!"));
        }