Use FogObscures(WPos).
This commit is contained in:
@@ -158,8 +158,7 @@ namespace OpenRA.Mods.Common.Effects
|
||||
if (anim == null || ticks >= length)
|
||||
yield break;
|
||||
|
||||
var cell = wr.World.Map.CellContaining(pos);
|
||||
if (!args.SourceActor.World.FogObscures(cell))
|
||||
if (!args.SourceActor.World.FogObscures(pos))
|
||||
{
|
||||
if (info.Shadow)
|
||||
{
|
||||
|
||||
@@ -18,7 +18,6 @@ namespace OpenRA.Mods.Common.Effects
|
||||
{
|
||||
readonly World world;
|
||||
readonly WPos pos;
|
||||
readonly CPos cell;
|
||||
readonly string paletteName;
|
||||
readonly Animation anim;
|
||||
|
||||
@@ -26,7 +25,6 @@ namespace OpenRA.Mods.Common.Effects
|
||||
{
|
||||
this.world = world;
|
||||
this.pos = pos;
|
||||
this.cell = world.Map.CellContaining(pos);
|
||||
this.paletteName = paletteName;
|
||||
anim = new Animation(world, image);
|
||||
anim.PlayThen(sequence, () => world.AddFrameEndTask(w => w.Remove(this)));
|
||||
@@ -36,7 +34,7 @@ namespace OpenRA.Mods.Common.Effects
|
||||
|
||||
public IEnumerable<IRenderable> Render(WorldRenderer wr)
|
||||
{
|
||||
if (world.FogObscures(cell))
|
||||
if (world.FogObscures(pos))
|
||||
return SpriteRenderable.None;
|
||||
|
||||
return anim.Render(pos, wr.Palette(paletteName));
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace OpenRA.Mods.Common.Effects
|
||||
|
||||
public IEnumerable<IRenderable> Render(WorldRenderer wr)
|
||||
{
|
||||
if (!a.IsInWorld || a.World.FogObscures(a.Location))
|
||||
if (!a.IsInWorld || a.World.FogObscures(a.CenterPosition))
|
||||
return SpriteRenderable.None;
|
||||
|
||||
return anim.Render(a.CenterPosition, wr.Palette(palette));
|
||||
|
||||
@@ -20,13 +20,11 @@ namespace OpenRA.Mods.Common.Effects
|
||||
readonly string palette;
|
||||
readonly Animation anim;
|
||||
WPos pos;
|
||||
CPos cell;
|
||||
|
||||
public Explosion(World world, WPos pos, string sequence, string palette)
|
||||
{
|
||||
this.world = world;
|
||||
this.pos = pos;
|
||||
this.cell = world.Map.CellContaining(pos);
|
||||
this.palette = palette;
|
||||
anim = new Animation(world, "explosion");
|
||||
anim.PlayThen(sequence, () => world.AddFrameEndTask(w => w.Remove(this)));
|
||||
@@ -36,7 +34,7 @@ namespace OpenRA.Mods.Common.Effects
|
||||
|
||||
public IEnumerable<IRenderable> Render(WorldRenderer wr)
|
||||
{
|
||||
if (world.FogObscures(cell))
|
||||
if (world.FogObscures(pos))
|
||||
return SpriteRenderable.None;
|
||||
|
||||
return anim.Render(pos, wr.Palette(palette));
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace OpenRA.Mods.Common.Effects
|
||||
|
||||
public IEnumerable<IRenderable> Render(WorldRenderer wr)
|
||||
{
|
||||
if (wr.World.FogObscures(wr.World.Map.CellContaining(pos)))
|
||||
if (wr.World.FogObscures(pos))
|
||||
yield break;
|
||||
|
||||
yield return new TextRenderable(font, pos, 0, color, text);
|
||||
|
||||
@@ -78,8 +78,7 @@ namespace OpenRA.Mods.Common.Effects
|
||||
|
||||
public IEnumerable<IRenderable> Render(WorldRenderer wr)
|
||||
{
|
||||
var cell = wr.World.Map.CellContaining(pos);
|
||||
if (!args.SourceActor.World.FogObscures(cell))
|
||||
if (!args.SourceActor.World.FogObscures(pos))
|
||||
{
|
||||
if (info.Shadow)
|
||||
{
|
||||
|
||||
@@ -85,8 +85,8 @@ namespace OpenRA.Mods.Common.Effects
|
||||
|
||||
public IEnumerable<IRenderable> Render(WorldRenderer wr)
|
||||
{
|
||||
if (wr.World.FogObscures(wr.World.Map.CellContaining(target)) &&
|
||||
wr.World.FogObscures(wr.World.Map.CellContaining(args.Source)))
|
||||
if (wr.World.FogObscures(target) &&
|
||||
wr.World.FogObscures(args.Source))
|
||||
yield break;
|
||||
|
||||
if (ticks < info.BeamDuration)
|
||||
|
||||
@@ -210,7 +210,7 @@ namespace OpenRA.Mods.Common.Effects
|
||||
if (info.ContrailLength > 0)
|
||||
yield return contrail;
|
||||
|
||||
if (!args.SourceActor.World.FogObscures(wr.World.Map.CellContaining(pos)))
|
||||
if (!args.SourceActor.World.FogObscures(pos))
|
||||
{
|
||||
if (info.Shadow)
|
||||
{
|
||||
|
||||
@@ -18,7 +18,6 @@ namespace OpenRA.Mods.Common.Effects
|
||||
{
|
||||
readonly World world;
|
||||
readonly WPos pos;
|
||||
readonly CPos cell;
|
||||
readonly Animation anim;
|
||||
readonly string palette;
|
||||
|
||||
@@ -26,7 +25,6 @@ namespace OpenRA.Mods.Common.Effects
|
||||
{
|
||||
this.world = world;
|
||||
this.pos = pos;
|
||||
this.cell = world.Map.CellContaining(pos);
|
||||
this.palette = palette;
|
||||
|
||||
anim = new Animation(world, trail);
|
||||
@@ -38,7 +36,7 @@ namespace OpenRA.Mods.Common.Effects
|
||||
|
||||
public IEnumerable<IRenderable> Render(WorldRenderer wr)
|
||||
{
|
||||
if (world.FogObscures(cell))
|
||||
if (world.FogObscures(pos))
|
||||
return SpriteRenderable.None;
|
||||
|
||||
return anim.Render(pos, wr.Palette(palette));
|
||||
|
||||
Reference in New Issue
Block a user