void RenderMapInView(BufferJobData <MapViewBuffer> viewData, TerminalJobContext termData) { var mapData = new MapJobContext(this, GetSingletonEntity <Map>(), true); var tileAssetsCTX = new MapTileAssetsBufferJobContext(this, true); Job.WithReadOnly(mapData) .WithReadOnly(viewData) .WithCode(() => { var map = mapData.Grid; var term = termData.GetAccessor(); var view = viewData.GetArray <bool>(); var tileAssets = tileAssetsCTX.Tiles; if (view.Length == 0) { return; } TerminalTile t = TerminalTile.Default; for (int i = 0; i < view.Length; ++i) { if (view[i]) { int tileType = (int)map[i]; t = tileAssets[tileType]; term[i] = t; } } }).Schedule(); }
public Renderable(TerminalTile t) { FGColor = t.FGColor; BGColor = t.BGColor; Glyph = (byte)t.Glyph; }