Пример #1
0
        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();
        }
Пример #2
0
        /// <summary>
        /// Loads world data for the specified path &amp; 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;
        }