public Harvester(GatherCity parent, Map map) { this.parent = parent; finder = map.PathFinder.CreatePathFinder(); this.map = map; BoundingSphere.Radius = 80; }
/// <summary> /// 初始化城市 /// </summary> private void LoadCities() { List<City> cityList = new List<City>(MaxCities); FileLocation fl = FileSystem.Instance.Locate("cities.xml", GameFileLocs.Config); GameConfiguration resCon = new GameConfiguration(fl); GameConfiguration.ValueCollection resVals = resCon.Values; Dictionary<string, City> resolveTable = new Dictionary<string, City>(MaxCities); foreach (GameConfigurationSection sect in resVals) { City city; string typestr = sect.GetString("Type", string.Empty).ToLowerInvariant(); CityType type = City.ParseType(typestr); switch (type) { case CityType.Neutral: city = new City(this, null, type); break; case CityType.Oil: case CityType.Green: city = new GatherCity(this, null, type); break; case CityType.Disease: case CityType.Education: case CityType.Health: case CityType.Volience: city = new ProductionCity(this, null, type); break; default: city = new City(this, null, type); break; } city.Parse(sect); resolveTable.Add(sect.Name, city); cityList.Add(city); } for (int i = 0; i < cityList.Count; i++) { cityList[i].ResolveCities(resolveTable); } cities = cityList.ToArray(); }