Hide crate effects / rank animation under fog.

This commit is contained in:
Paul Chote
2013-07-25 18:13:56 +12:00
parent c836374ae2
commit bdded2f14c

View File

@@ -1,6 +1,6 @@
#region Copyright & License Information #region Copyright & License Information
/* /*
* Copyright 2007-2011 The OpenRA Developers (see AUTHORS) * Copyright 2007-2013 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made * This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License * available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation. For more information, * as published by the Free Software Foundation. For more information,
@@ -23,18 +23,17 @@ namespace OpenRA.Mods.RA.Effects
public CrateEffect(Actor a, string seq) public CrateEffect(Actor a, string seq)
{ {
this.a = a; this.a = a;
anim.PlayThen(seq, anim.PlayThen(seq, () => a.World.AddFrameEndTask(w => w.Remove(this)));
() => a.World.AddFrameEndTask(w => w.Remove(this)));
} }
public void Tick( World world ) public void Tick(World world)
{ {
anim.Tick(); anim.Tick();
} }
public IEnumerable<IRenderable> Render(WorldRenderer wr) public IEnumerable<IRenderable> Render(WorldRenderer wr)
{ {
if (!a.IsInWorld) if (!a.IsInWorld || a.World.FogObscures(a.Location))
return SpriteRenderable.None; return SpriteRenderable.None;
return anim.Render(a.CenterPosition, wr.Palette("effect")); return anim.Render(a.CenterPosition, wr.Palette("effect"));