Unhardcode internal terrain palette name from all over the codebase
This commit is contained in:
@@ -16,8 +16,6 @@ namespace OpenRA.Graphics
|
||||
{
|
||||
sealed class TerrainRenderer : IDisposable
|
||||
{
|
||||
const string TerrainPalette = "terrain";
|
||||
|
||||
readonly World world;
|
||||
readonly Dictionary<string, TerrainSpriteLayer> spriteLayers = new Dictionary<string, TerrainSpriteLayer>();
|
||||
readonly Theater theater;
|
||||
@@ -33,7 +31,7 @@ namespace OpenRA.Graphics
|
||||
|
||||
foreach (var template in world.TileSet.Templates)
|
||||
{
|
||||
var palette = template.Value.Palette ?? TerrainPalette;
|
||||
var palette = template.Value.Palette ?? TileSet.TerrainPaletteInternalName;
|
||||
spriteLayers.GetOrAdd(palette, pal =>
|
||||
new TerrainSpriteLayer(world, wr, theater.Sheet, BlendMode.Alpha, wr.Palette(palette), wr.World.Type != WorldType.Editor));
|
||||
}
|
||||
@@ -48,7 +46,7 @@ namespace OpenRA.Graphics
|
||||
public void UpdateCell(CPos cell)
|
||||
{
|
||||
var tile = mapTiles[cell];
|
||||
var palette = world.TileSet.Templates[tile.Type].Palette ?? TerrainPalette;
|
||||
var palette = world.TileSet.Templates[tile.Type].Palette ?? TileSet.TerrainPaletteInternalName;
|
||||
var sprite = theater.TileSprite(tile);
|
||||
foreach (var kv in spriteLayers)
|
||||
kv.Value.Update(cell, palette == kv.Key ? sprite : null);
|
||||
|
||||
@@ -167,6 +167,8 @@ namespace OpenRA
|
||||
|
||||
public class TileSet
|
||||
{
|
||||
public const string TerrainPaletteInternalName = "terrain";
|
||||
|
||||
public readonly string Name;
|
||||
public readonly string Id;
|
||||
public readonly int SheetSize = 512;
|
||||
|
||||
@@ -16,7 +16,7 @@ namespace OpenRA.Traits
|
||||
public class FixedColorPaletteInfo : ITraitInfo
|
||||
{
|
||||
[Desc("The name of the palette to base off.")]
|
||||
[PaletteReference] public readonly string Base = "terrain";
|
||||
[PaletteReference] public readonly string Base = TileSet.TerrainPaletteInternalName;
|
||||
|
||||
[Desc("The name of the resulting palette")]
|
||||
[PaletteDefinition] public readonly string Name = "resources";
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace OpenRA.Traits
|
||||
{
|
||||
public readonly string Sequence = "resources";
|
||||
[SequenceReference("Sequence")] public readonly string[] Variants = { };
|
||||
[PaletteReference] public readonly string Palette = "terrain";
|
||||
[PaletteReference] public readonly string Palette = TileSet.TerrainPaletteInternalName;
|
||||
public readonly int ResourceType = 1;
|
||||
|
||||
public readonly int ValuePerUnit = 0;
|
||||
|
||||
Reference in New Issue
Block a user