Move ShroudRenderer into a trait.
This commit is contained in:
@@ -37,7 +37,6 @@ namespace OpenRA.Graphics
|
||||
public Viewport Viewport { get; private set; }
|
||||
|
||||
internal readonly TerrainRenderer terrainRenderer;
|
||||
internal readonly ShroudRenderer shroudRenderer;
|
||||
internal readonly HardwarePalette palette;
|
||||
internal Cache<string, PaletteReference> palettes;
|
||||
Lazy<DeveloperMode> devTrait;
|
||||
@@ -56,7 +55,6 @@ namespace OpenRA.Graphics
|
||||
|
||||
Theater = new Theater(world.TileSet);
|
||||
terrainRenderer = new TerrainRenderer(world, this);
|
||||
shroudRenderer = new ShroudRenderer(world);
|
||||
|
||||
devTrait = Lazy.New(() => world.LocalPlayer != null ? world.LocalPlayer.PlayerActor.Trait<DeveloperMode>() : null);
|
||||
}
|
||||
@@ -132,7 +130,9 @@ namespace OpenRA.Graphics
|
||||
world.OrderGenerator.RenderAfterWorld(this, world);
|
||||
|
||||
var renderShroud = world.RenderPlayer != null ? world.RenderPlayer.Shroud : null;
|
||||
shroudRenderer.Draw(this, renderShroud);
|
||||
|
||||
foreach (var a in world.ActorsWithTrait<IRenderShroud>())
|
||||
a.Trait.RenderShroud(this, renderShroud);
|
||||
|
||||
if (devTrait.Value != null && devTrait.Value.ShowDebugGeometry)
|
||||
for (var i = 0; i < renderables.Count; i++)
|
||||
|
||||
@@ -110,7 +110,6 @@
|
||||
<Compile Include="Graphics\SequenceProvider.cs" />
|
||||
<Compile Include="Graphics\Sheet.cs" />
|
||||
<Compile Include="Graphics\SheetBuilder.cs" />
|
||||
<Compile Include="Graphics\ShroudRenderer.cs" />
|
||||
<Compile Include="Graphics\Sprite.cs" />
|
||||
<Compile Include="Graphics\SpriteFont.cs" />
|
||||
<Compile Include="Graphics\SpriteLoader.cs" />
|
||||
|
||||
@@ -191,6 +191,7 @@ namespace OpenRA.Traits
|
||||
public interface IBlocksBullets { }
|
||||
|
||||
public interface IPostRender { void RenderAfterWorld(WorldRenderer wr, Actor self); }
|
||||
public interface IRenderShroud { void RenderShroud(WorldRenderer wr, Shroud shroud); }
|
||||
|
||||
public interface IPostRenderSelection { void RenderAfterWorld(WorldRenderer wr); }
|
||||
public interface IBodyOrientation
|
||||
|
||||
@@ -482,6 +482,7 @@
|
||||
<Compile Include="Widgets\Logic\SettingsLogic.cs" />
|
||||
<Compile Include="AttackBomber.cs" />
|
||||
<Compile Include="Effects\Rank.cs" />
|
||||
<Compile Include="ShroudRenderer.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OpenRA.FileFormats\OpenRA.FileFormats.csproj">
|
||||
|
||||
@@ -10,10 +10,16 @@
|
||||
|
||||
using System.Drawing;
|
||||
using OpenRA.Traits;
|
||||
using OpenRA.Graphics;
|
||||
|
||||
namespace OpenRA.Graphics
|
||||
namespace OpenRA.Mods.RA
|
||||
{
|
||||
public class ShroudRenderer
|
||||
public class ShroudRendererInfo : ITraitInfo
|
||||
{
|
||||
public object Create(ActorInitializer init) { return new ShroudRenderer(init.world); }
|
||||
}
|
||||
|
||||
public class ShroudRenderer : IRenderShroud
|
||||
{
|
||||
World world;
|
||||
Map map;
|
||||
@@ -148,7 +154,7 @@ namespace OpenRA.Graphics
|
||||
}
|
||||
}
|
||||
|
||||
internal void Draw(WorldRenderer wr, Shroud shroud)
|
||||
public void RenderShroud(WorldRenderer wr, Shroud shroud)
|
||||
{
|
||||
if (initializePalettes)
|
||||
{
|
||||
@@ -277,6 +277,7 @@ World:
|
||||
ShroudPalette@combined:
|
||||
Name: shroudfog
|
||||
Type: Combined
|
||||
ShroudRenderer:
|
||||
Country@gdi:
|
||||
Name: GDI
|
||||
Race: gdi
|
||||
|
||||
@@ -429,6 +429,7 @@ World:
|
||||
ShroudPalette@combined:
|
||||
Name: shroudfog
|
||||
Type: Combined
|
||||
ShroudRenderer:
|
||||
Country@Atreides:
|
||||
Name: Atreides
|
||||
Race: atreides
|
||||
|
||||
@@ -620,6 +620,7 @@ World:
|
||||
ShroudPalette@combined:
|
||||
Name: shroudfog
|
||||
Type: Combined
|
||||
ShroudRenderer:
|
||||
Country@0:
|
||||
Name: Allies
|
||||
Race: allies
|
||||
|
||||
@@ -105,6 +105,7 @@ World:
|
||||
ShroudPalette@combined:
|
||||
Name: shroudfog
|
||||
Type: Combined
|
||||
ShroudRenderer:
|
||||
VoxelNormalsPalette@normals:
|
||||
Name: normals
|
||||
Type: TiberianSun
|
||||
|
||||
Reference in New Issue
Block a user