Refactor per-player shrouds & fix shellmap shroud.

This commit is contained in:
Paul Chote
2013-04-10 00:35:39 +12:00
parent 66eff85aa4
commit c428cad70c
33 changed files with 146 additions and 120 deletions

View File

@@ -19,15 +19,15 @@ namespace OpenRA.Mods.RA
class FrozenUnderFog : IRenderModifier, IVisibilityModifier
{
public bool IsVisible(Shroud s, Actor self)
public bool IsVisible(Actor self, Player byPlayer)
{
return Shroud.GetVisOrigins(self).Any(o => s.IsVisible(o));
return byPlayer == null || Shroud.GetVisOrigins(self).Any(o => byPlayer.Shroud.IsVisible(o));
}
Renderable[] cache = { };
public IEnumerable<Renderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<Renderable> r)
{
if (IsVisible(self.World.RenderedShroud, self))
if (IsVisible(self, self.World.RenderPlayer))
cache = r.ToArray();
return cache;
}