diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj index 7b32648af9..7ab04b4af1 100644 --- a/OpenRA.Game/OpenRA.Game.csproj +++ b/OpenRA.Game/OpenRA.Game.csproj @@ -1,4 +1,4 @@ - + Debug @@ -115,6 +115,7 @@ + @@ -317,7 +318,4 @@ --> - - - \ No newline at end of file diff --git a/OpenRA.Game/Traits/Modifiers/ForcedPalette.cs b/OpenRA.Game/Traits/Modifiers/ForcedPalette.cs new file mode 100644 index 0000000000..90de0ff1bc --- /dev/null +++ b/OpenRA.Game/Traits/Modifiers/ForcedPalette.cs @@ -0,0 +1,25 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace OpenRA.Traits +{ + class ForcedPaletteInfo : ITraitInfo + { + public readonly string Palette = null; + public object Create(Actor self) { return new ForcedPalette(this); } + } + + class ForcedPalette : IRenderModifier + { + string palette; + + public ForcedPalette(ForcedPaletteInfo info) { palette = info.Palette; } + + public IEnumerable ModifyRender(Actor self, IEnumerable r) + { + return r.Select(rr => rr.WithPalette(palette)); + } + } +}