public List <int>[] Build(LabyrinthData labyrinth, AssetInfo info, IsometricMode mode, IAssetManager assets) { if (labyrinth == null) { throw new ArgumentNullException(nameof(labyrinth)); } _labId = labyrinth.Id; _mode = mode; _layout.Load(labyrinth, info, _mode, BuildProperties(), _paletteId, assets); int rows = (_layout.TileCount + _tilesPerRow - 1) / _tilesPerRow; if (Framebuffer != null) { Framebuffer.Width = (uint)(_width * _tilesPerRow); Framebuffer.Height = (uint)(_height * rows); } Update(); return(mode switch { IsometricMode.Floors => _layout.FloorFrames, IsometricMode.Ceilings => _layout.CeilingFrames, IsometricMode.Walls => _layout.WallFrames, IsometricMode.Contents => _layout.ContentsFrames, _ => null });
public List <int>[] Build(LabyrinthData labyrinth, AssetInfo info, IsometricMode mode, IAssetManager assets) { if (labyrinth == null) { throw new ArgumentNullException(nameof(labyrinth)); } _labId = labyrinth.Id; _mode = mode; _layout.Load(labyrinth, info, _mode, BuildProperties(), _paletteId, assets); ResizeFramebuffer(); Update(); return(mode switch { IsometricMode.Floors => _layout.FloorFrames, IsometricMode.Ceilings => _layout.CeilingFrames, IsometricMode.Walls => _layout.WallFrames, IsometricMode.Contents => _layout.ContentsFrames, _ => null });