//房间配置寻路数据 public IEnumerator ConfigPathfinderData(GameResPackage.AsyncLoadPackageData loadData) { //寻路组件 Pathfinder finder = m_roomObj.AddComponent <Pathfinder>(); finder.MapStartPosition = new Vector2(m_locatorObj.transform.position.x, m_locatorObj.transform.position.z); finder.MapEndPosition = new Vector2(m_RTLocatorObj.transform.position.x, m_RTLocatorObj.transform.position.z); finder.Tilesize = GameSettings.Singleton.m_roomPathfinderTileSize; finder.CreateMap(m_obstacleData); for (int i = 0; i < m_gateList.Count; i++) { if (!m_gateList[i].isGateOpen) { continue; } if (null != m_gateList[i].BridgeData) { GameResPackage.AsyncLoadPackageData loadData2 = new GameResPackage.AsyncLoadPackageData(); IEnumerator e = m_gateList[i].BridgeData.nextRoomNode.ConfigPathfinderData(loadData2); while (true) { e.MoveNext(); if (loadData2.m_isFinish) { break; } yield return(e.Current); } } } loadData.m_isFinish = true; }
private void Awake() { // get the car controller m_Car = GetComponent <CarController>(); terrain_manager = terrain_manager_game_object.GetComponent <TerrainManager>(); terrain_info = terrain_manager.myInfo; pathfinder = terrain_manager.GetComponent <Pathfinder> (); pathfinder.info = terrain_info; pathfinder.CreateMap(); pathfinder.FindPath(); }