Beispiel #1
0
        private void LoadMapFiles()
        {
            Log.Info("Loading map data please wait...");
            foreach (var mapId in this.Conf.Maps)
            {
                var map       = new Map(mapId);
                var mapParser = new MapParser(this.Conf.GetMapFilePath(mapId));
                mapParser.ParseFile(ref map);
                var ndtParser = new NdtParser(this.Conf.GetNdtFilePath(mapId));
                ndtParser.ParseFile(ref map);
                foreach (var shop in map.Shops)
                {
                    if (this.GameData.NPCData.ContainsKey(shop.Id))
                    {
                        continue;
                    }

                    var npcData       = new NPCData();
                    var npcDataParser = new NPCDataParser(this.Conf.GetNpcFilePath(shop.Id));
                    npcDataParser.ParseData(ref npcData);
                    this.GameData.NPCData.Add(shop.Id, npcData);
                }

                foreach (var monster in map.Monsters)
                {
                    if (this.GameData.NPCData.ContainsKey(monster.Id))
                    {
                        continue;
                    }

                    var npcData       = new NPCData();
                    var npcDataParser = new NPCDataParser(this.Conf.GetNpcFilePath(monster.Id));
                    npcDataParser.ParseData(ref npcData);
                    this.GameData.NPCData.Add(monster.Id, npcData);
                }

                this.GameData.Maps.Add(mapId, map);
            }

            Log.Info("Loaded " + this.GameData.Maps.Count + " maps");
        }