Example #1
0
        public TestBot(Navmesh navmesh, NavigationEngine navigator, ExplorationEngine explorer, Vec3 pos, float speed, float angular_speed, bool enableExplorer = true)
        {
            m_Navmesh         = navmesh;
            m_Navmesh.Verbose = true;
            //m_Navigator = new NavigationEngine(navmesh);
            m_Navigator = navigator;
            m_Navigator.EnableThreatAvoidance = true;
            m_Navigator.AddObserver(this);
            m_Navigator.CurrentPos = pos;
            //m_Navigator.EnableThreatAvoidance = true;
            //m_Navigator.DefaultPrecision = 20;
            //m_Navigator.Precision = 20;
            //m_Navigator.PathNodesShiftDist = 20;
            //m_Navigator.EnableAntiStuck = false;
            //m_Navigator.DestinationGridsId = dest_grid_id != -1 ? new List<int>(new int[] { dest_grid_id }) : null;
            //if (waypoints != null)
            //    m_Navigator.Waypoints = waypoints;

            //m_Explorer = new Nav.ExploreEngine.Nearest(m_Navmesh, m_Navigator);
            m_Explorer = explorer;
            if (enableExplorer)
            {
                m_Explorer.Enabled = true;
            }

            m_Speed        = speed;
            m_AngularSpeed = angular_speed;

            SimulateStuck = false;
            Paused        = false;
            m_GotoPosUpdateTimer.Start();
        }
Example #2
0
        public ExplorationEngine(Navmesh navmesh, NavigationEngine navigator, int explore_cell_size = 90)
        {
            ExploreCellSize = explore_cell_size;

            m_Navmesh = navmesh;
            m_Navmesh.AddObserver(this);

            m_Navigator = navigator;
            m_Navigator.AddObserver(this);
            m_Navigator.m_RoughtPathEstimator = m_Navigator.m_RoughtPathEstimator ?? this;

            // generate exploration data from already existing grid cells
            Reset();

            UpdatesThread      = new Thread(Updates);
            UpdatesThread.Name = "Explorator-UpdatesThread";
            UpdatesThread.Start();
        }
Example #3
0
        public ExplorationEngine(Navmesh navmesh, NavigationEngine navigator, int explore_cell_size = 90)
        {
            ExploreCellSize           = explore_cell_size;
            MAX_AREA_TO_MARK_AS_SMALL = 2000;
            ExploreDestPrecision      = 20;

            m_Navmesh = navmesh;
            m_Navmesh.AddObserver(this);

            m_Navigator = navigator;
            m_Navigator.AddObserver(this);

            // generate exploration data from already existing grid cells
            Reset();

            UpdatesThread      = new Thread(Updates);
            UpdatesThread.Name = "Explorator-UpdatesThread";
            UpdatesThread.Start();
        }