OpenRA.Mods.Common.Effects.Beacon.IEffectAboveShroud C# (CSharp) Method

IEffectAboveShroud() private method

private IEffectAboveShroud ( WorldRenderer r ) : IEnumerable
r OpenRA.Graphics.WorldRenderer
return IEnumerable
        IEnumerable<IRenderable> IEffectAboveShroud.RenderAboveShroud(WorldRenderer r)
        {
            if (!owner.IsAlliedWith(owner.World.RenderPlayer))
                yield break;

            var palette = r.Palette(isPlayerPalette ? beaconPalette + owner.InternalName : beaconPalette);

            if (circles != null)
                foreach (var a in circles.Render(position, palette))
                    yield return a;

            if (arrow != null)
                foreach (var a in arrow.Render(position + new WVec(0, 0, arrowHeight), palette))
                    yield return a;

            if (poster != null)
            {
                foreach (var a in poster.Render(position, r.Palette(posterPalette)))
                    yield return a;

                if (clock != null)
                    foreach (var a in clock.Render(position, r.Palette(posterPalette)))
                        yield return a;
            }
        }