예제 #1
0
        private void Add(ExtractedWMODefinition def)
        {
            var wmo = ExtractedWMOParser.Process(_baseDirectory, _mapId, def.FilePath);

            var doodadSetId = def.DoodadSetId;
            var doodadSet   = new List <ExtractedWMOM2Definition>();

            doodadSet.AddRange(wmo.WMOM2Defs[0].Values);
            if (doodadSetId > 0)
            {
                doodadSet.AddRange(wmo.WMOM2Defs[doodadSetId].Values);
            }

            var m2s = new List <ExtractedM2>(doodadSet.Count);

            foreach (var m2Def in doodadSet)
            {
                var m2 = ExtractedM2Parser.Process(_baseDirectory, _mapId, m2Def.FilePath);
                TransformM2(m2, m2Def);

                m2s.Add(m2);
            }

            Transform(wmo, m2s, def);

            _WMOs.Add(wmo);
            _WMOM2s.AddRange(m2s);
        }
예제 #2
0
        private void Add(ExtractedMapM2Definition def)
        {
            var model = ExtractedM2Parser.Process(_basePath, _mapId, def.FilePath);

            Transform(model, def);

            Models.Add(model);
        }