BananaMpq.Geometry.Builders.AdtGeometryBuilder.BuildTile C# (CSharp) Метод

BuildTile() публичный Метод

public BuildTile ( string continent, int x, int y, float padding = MapChunk.TileSize ) : Scene
continent string
x int
y int
padding float You can pad from 0 up to an mcnk sized strip around the adt.
Результат Scene
        public Scene BuildTile(string continent, int x, int y, float padding = MapChunk.TileSize)
        {
            var chunkBuilder = new ChunkBuilder(GetLiquidMaterialProperties);
            var doodadBuilder = new DoodadBuilder(_files);
            var wmoBuilder = new WmoBuilder(_files, doodadBuilder, GetLiquidMaterialProperties);
            var terrain = new List<SceneObject>();
            var liquids = new List<SceneObject>();
            var doodads = new List<SceneObject>();
            var wmos = new List<SceneObject>();

            var centerAdt = _files.GetAdt(continent, x, y);
            var bounds = GetSceneBounds(centerAdt, padding);

            foreach (var p in AdtRegion(continent, x, y))
            {
                var curX = (int)p.X;
                var curY = (int)p.Y;
                var adt = _files.GetAdt(continent, curX, curY);
                terrain.AddRange(chunkBuilder.BuildTerrain(adt, bounds));
                liquids.AddRange(chunkBuilder.BuildLiquid(adt, bounds));
                doodads.AddRange(doodadBuilder.BuildDoodads(DefinedDoodads(adt), adt.DoodadReferences, bounds));
                var wmoResults = wmoBuilder.BuildWmos(DefinedWmos(adt), adt.WmoReferences, bounds);
                wmos.AddRange(wmoResults.GroupObjects);

                doodads.AddRange(wmoResults.Doodads);
                liquids.AddRange(wmoResults.Liquids);
            }

            return MergeIntoScene(centerAdt, terrain, liquids, doodads, wmos);
        }