untangling WorldRenderer from World
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
using System.Drawing;
|
||||
using OpenRA.FileFormats;
|
||||
using OpenRA.Traits;
|
||||
using OpenRA.Graphics;
|
||||
|
||||
namespace OpenRA.Mods.RA
|
||||
{
|
||||
@@ -18,17 +19,21 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
public readonly string Name = "shroud";
|
||||
public readonly bool IsFog = false;
|
||||
public object Create(ActorInitializer init) { return new ShroudPalette(init.world, this); }
|
||||
public object Create(ActorInitializer init) { return new ShroudPalette(this); }
|
||||
}
|
||||
|
||||
class ShroudPalette
|
||||
class ShroudPalette : IPalette
|
||||
{
|
||||
public ShroudPalette(World world, ShroudPaletteInfo info)
|
||||
readonly ShroudPaletteInfo info;
|
||||
public ShroudPalette( ShroudPaletteInfo info )
|
||||
{
|
||||
// TODO: This shouldn't rely on a base palette
|
||||
var wr = world.WorldRenderer;
|
||||
var pal = wr.GetPalette("terrain");
|
||||
wr.AddPalette(info.Name, new Palette(pal, new ShroudPaletteRemap(info.IsFog)));
|
||||
this.info = info;
|
||||
}
|
||||
|
||||
public void InitPalette( WorldRenderer wr )
|
||||
{
|
||||
var pal = wr.GetPalette( "terrain" );
|
||||
wr.AddPalette( info.Name, new Palette( pal, new ShroudPaletteRemap( info.IsFog ) ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user