Remove WorldRenderer.GetPalette.

This commit is contained in:
Paul Chote
2013-02-25 18:06:47 +13:00
parent 72a9954491
commit 9bc743068a
3 changed files with 8 additions and 7 deletions

View File

@@ -21,10 +21,12 @@ namespace OpenRA.Graphics
{ {
public readonly string Name; public readonly string Name;
public readonly int Index; public readonly int Index;
public PaletteReference(string name, int index) public readonly Palette Palette;
public PaletteReference(string name, int index, Palette palette)
{ {
Name = name; Name = name;
Index = index; Index = index;
Palette = palette;
} }
} }
@@ -40,22 +42,21 @@ namespace OpenRA.Graphics
{ {
this.world = world; this.world = world;
this.palette = Game.modData.Palette; this.palette = Game.modData.Palette;
palettes = new Cache<string, PaletteReference>(CreatePaletteReference);
foreach (var pal in world.traitDict.ActorsWithTraitMultiple<IPalette>(world)) foreach (var pal in world.traitDict.ActorsWithTraitMultiple<IPalette>(world))
pal.Trait.InitPalette( this ); pal.Trait.InitPalette( this );
terrainRenderer = new TerrainRenderer(world, this); terrainRenderer = new TerrainRenderer(world, this);
shroudRenderer = new ShroudRenderer(world); shroudRenderer = new ShroudRenderer(world);
palettes = new Cache<string, PaletteReference>(CreatePaletteReference);
} }
PaletteReference CreatePaletteReference(string name) PaletteReference CreatePaletteReference(string name)
{ {
return new PaletteReference(name, palette.GetPaletteIndex(name)); return new PaletteReference(name, palette.GetPaletteIndex(name), palette.GetPalette(name));
} }
public PaletteReference Palette(string name) { return palettes[name]; } public PaletteReference Palette(string name) { return palettes[name]; }
public int GetPaletteIndex(string name) { return palette.GetPaletteIndex(name); } public int GetPaletteIndex(string name) { return palette.GetPaletteIndex(name); }
public Palette GetPalette(string name) { return palette.GetPalette(name); }
public void AddPalette(string name, Palette pal, bool allowModifiers) { palette.AddPalette(name, pal, allowModifiers); } public void AddPalette(string name, Palette pal, bool allowModifiers) { palette.AddPalette(name, pal, allowModifiers); }
class SpriteComparer : IComparer<Renderable> class SpriteComparer : IComparer<Renderable>

View File

@@ -37,7 +37,7 @@ namespace OpenRA.Traits
public void InitPalette( WorldRenderer wr ) public void InitPalette( WorldRenderer wr )
{ {
var paletteName = "{0}{1}".F( info.BaseName, owner.InternalName ); var paletteName = "{0}{1}".F( info.BaseName, owner.InternalName );
var newpal = new Palette(wr.GetPalette(info.BasePalette), var newpal = new Palette(wr.Palette(info.BasePalette).Palette,
new PlayerColorRemap(info.RemapIndex, owner.ColorRamp)); new PlayerColorRemap(info.RemapIndex, owner.ColorRamp));
wr.AddPalette(paletteName, newpal, info.AllowModifiers); wr.AddPalette(paletteName, newpal, info.AllowModifiers);
} }

View File

@@ -38,7 +38,7 @@ namespace OpenRA.Mods.RA.Widgets
public override void Initialize(WidgetArgs args) public override void Initialize(WidgetArgs args)
{ {
base.Initialize(args); base.Initialize(args);
preview = worldRenderer.GetPalette(Palette); preview = worldRenderer.Palette(Palette).Palette;
} }
public override void Tick() public override void Tick()