private World() { Settings = new WorldSettings(); EventPublisher = new Publisher(); Map = Map.CreateMap(); _miniMap = Map.CreateMiniMap(Map); _players = new Dictionary<string, Player>(); _tribes = new Dictionary<string, Tribe>(); _villages = new WorldVillagesCollection(); Cache = new AutoCompleteCache(); Views = new ViewsCollection(); You = new Player(); }
/// <summary> /// Loads world data for the specified path & settings file /// </summary> /// <param name="dataPath">The path to the World directory</param> /// <param name="settings">The settings filename</param> public bool LoadWorld(string dataPath, string settings) { HasLoaded = false; if (string.IsNullOrEmpty(dataPath) || !Directory.Exists(dataPath)) return false; Structure = new InternalStructure(); Structure.SetPath(dataPath); Structure.LoadCurrentAndPreviousTwSnapshot(out _villages, out _players, out _tribes); if (_villageTypes != null) _villageTypes.Close(); _villageTypes = Structure.CurrentVillageTypes; bool settingLoadSuccess = LoadSettingsCore(settings, false); if (!settingLoadSuccess) return false; Cache = new AutoCompleteCache(_players, _tribes); HasLoaded = true; EventPublisher.InformLoaded(this, EventArgs.Empty); EventPublisher.InformSettingsLoaded(this, EventArgs.Empty); return true; }