moved Game.palette into WorldRenderer
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using OpenRa.FileFormats;
|
||||
using OpenRa.Traits;
|
||||
|
||||
namespace OpenRa.Graphics
|
||||
{
|
||||
@@ -38,5 +40,15 @@ namespace OpenRa.Graphics
|
||||
|
||||
return allocated++;
|
||||
}
|
||||
|
||||
public void Update(IEnumerable<IPaletteModifier> paletteMods)
|
||||
{
|
||||
var b = new Bitmap(Bitmap);
|
||||
foreach (var mod in paletteMods)
|
||||
mod.AdjustPalette(b);
|
||||
|
||||
Texture.SetData(b);
|
||||
Game.renderer.PaletteTexture = Texture;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,9 @@ namespace OpenRa.Graphics
|
||||
|
||||
public void DrawRegions()
|
||||
{
|
||||
Game.world.WorldRenderer.palette.Update(Game.world.Actors.SelectMany(
|
||||
a => a.traits.WithInterface<IPaletteModifier>()));
|
||||
|
||||
float2 r1 = new float2(2, -2) / screenSize;
|
||||
float2 r2 = new float2(-1, 1);
|
||||
|
||||
|
||||
@@ -12,17 +12,19 @@ namespace OpenRa.Graphics
|
||||
internal readonly LineRenderer lineRenderer;
|
||||
internal readonly UiOverlay uiOverlay;
|
||||
internal readonly Renderer renderer;
|
||||
internal readonly HardwarePalette palette;
|
||||
|
||||
public static bool ShowUnitPaths = false;
|
||||
|
||||
internal WorldRenderer(World world, Renderer renderer)
|
||||
{
|
||||
terrainRenderer = new TerrainRenderer(world, renderer);
|
||||
|
||||
this.renderer = renderer;
|
||||
|
||||
terrainRenderer = new TerrainRenderer(world, renderer);
|
||||
spriteRenderer = new SpriteRenderer(renderer, true);
|
||||
lineRenderer = new LineRenderer(renderer);
|
||||
uiOverlay = new UiOverlay(spriteRenderer);
|
||||
palette = new HardwarePalette(renderer, world.Map);
|
||||
}
|
||||
|
||||
void DrawSpriteList(RectangleF rect,
|
||||
|
||||
Reference in New Issue
Block a user