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