Move effects to WorldRenderer palette lookup.

This commit is contained in:
Paul Chote
2013-02-24 11:32:32 +13:00
parent 95871e6cc1
commit 885eec7444
24 changed files with 45 additions and 43 deletions

View File

@@ -10,6 +10,7 @@
using System;
using System.Collections.Generic;
using OpenRA.Graphics;
using OpenRA.Traits;
namespace OpenRA.Effects
@@ -25,12 +26,12 @@ namespace OpenRA.Effects
this.delay = delay;
}
public void Tick( World world )
public void Tick(World world)
{
if (--delay <= 0)
world.AddFrameEndTask(w => { w.Remove(this); a(); });
}
public IEnumerable<Renderable> Render() { yield break; }
public IEnumerable<Renderable> Render(WorldRenderer wr) { yield break; }
}
}

View File

@@ -33,14 +33,14 @@ namespace OpenRA.Effects
world.AddFrameEndTask(w => w.Remove(this));
}
public IEnumerable<Renderable> Render()
public IEnumerable<Renderable> Render(WorldRenderer wr)
{
if (!target.IsInWorld)
yield break;
if (remainingTicks % 2 == 0)
foreach (var r in target.Render())
yield return r.WithPalette(PaletteReference.FromName("highlight"));
yield return r.WithPalette(wr.Palette("highlight"));
}
}
}

View File

@@ -9,13 +9,14 @@
#endregion
using System.Collections.Generic;
using OpenRA.Graphics;
using OpenRA.Traits;
namespace OpenRA.Effects
{
public interface IEffect
{
void Tick( World world );
IEnumerable<Renderable> Render();
void Tick(World world);
IEnumerable<Renderable> Render(WorldRenderer r);
}
}

View File

@@ -95,7 +95,7 @@ namespace OpenRA.Graphics
var renderables = actors.SelectMany(a => a.Render())
.OrderBy(r => r, comparer);
var effects = world.Effects.SelectMany(e => e.Render());
var effects = world.Effects.SelectMany(e => e.Render(this));
return renderables.Concat(effects);
}