예제 #1
0
        public void UpdateCell(CPos cell)
        {
            var tile    = map.Tiles[cell];
            var palette = TileSet.TerrainPaletteInternalName;

            if (terrainInfo.Templates.TryGetValue(tile.Type, out var template))
            {
                palette = ((DefaultTerrainTemplateInfo)template).Palette ?? palette;
            }

            foreach (var kv in spriteLayers)
            {
                kv.Value.Update(cell, palette == kv.Key ? tileCache.TileSprite(tile) : null, false);
            }
        }
예제 #2
0
        public void UpdateCell(CPos cell)
        {
            var tile    = map.Tiles[cell];
            var palette = TileSet.TerrainPaletteInternalName;

            if (terrainInfo.Templates.TryGetValue(tile.Type, out var template))
            {
                palette = ((DefaultTerrainTemplateInfo)template).Palette ?? palette;
            }

            var sprite           = tileCache.TileSprite(tile);
            var paletteReference = worldRenderer.Palette(palette);

            spriteLayer.Update(cell, sprite, paletteReference);
        }