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(); }
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(); }
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(); }