Pass WorldRenderer to Render().
This commit is contained in:
@@ -19,12 +19,13 @@ namespace OpenRA.Mods.RA.Effects
|
||||
{
|
||||
readonly Animation anim;
|
||||
readonly float2 pos;
|
||||
readonly PaletteReference palette;
|
||||
readonly RenderSimple rs;
|
||||
readonly Player p;
|
||||
|
||||
public Corpse(Actor fromActor, string sequence)
|
||||
{
|
||||
var rs = fromActor.Trait<RenderSimple>();
|
||||
palette = rs.Palette(fromActor.Owner);
|
||||
p = fromActor.Owner;
|
||||
rs = fromActor.Trait<RenderSimple>();
|
||||
anim = new Animation(rs.GetImage(fromActor));
|
||||
anim.PlayThen(sequence,
|
||||
() => fromActor.World.AddFrameEndTask(w => w.Remove(this)));
|
||||
@@ -36,7 +37,7 @@ namespace OpenRA.Mods.RA.Effects
|
||||
|
||||
public IEnumerable<Renderable> Render(WorldRenderer wr)
|
||||
{
|
||||
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size, palette, (int)pos.Y);
|
||||
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size, rs.Palette(p, wr), (int)pos.Y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ namespace OpenRA.Mods.RA.Effects
|
||||
if (show && !self.Destroyed)
|
||||
{
|
||||
var p = self.CenterLocation;
|
||||
yield return new Renderable(anim.Image, p.ToFloat2() - 0.5f * anim.Image.size, rs.Palette(self.Owner), p.Y)
|
||||
yield return new Renderable(anim.Image, p.ToFloat2() - 0.5f * anim.Image.size, rs.Palette(self.Owner, wr), p.Y)
|
||||
.WithScale(1.5f);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ namespace OpenRA.Mods.RA.Effects
|
||||
{
|
||||
readonly Actor building;
|
||||
readonly RA.RallyPoint rp;
|
||||
readonly RenderSimple rs;
|
||||
public Animation flag = new Animation("rallypoint");
|
||||
public Animation circles = new Animation("rallypoint");
|
||||
|
||||
@@ -27,6 +28,7 @@ namespace OpenRA.Mods.RA.Effects
|
||||
{
|
||||
this.building = building;
|
||||
rp = building.Trait<RA.RallyPoint>();
|
||||
rs = building.Trait<RenderSimple>();
|
||||
flag.PlayRepeating("flag");
|
||||
circles.Play("circles");
|
||||
}
|
||||
@@ -52,7 +54,7 @@ namespace OpenRA.Mods.RA.Effects
|
||||
&& building.World.Selection.Actors.Contains(building))
|
||||
{
|
||||
var pos = Traits.Util.CenterOfCell(rp.rallyPoint);
|
||||
var palette = building.Trait<RenderSimple>().Palette(building.Owner);
|
||||
var palette = rs.Palette(building.Owner, wr);
|
||||
|
||||
yield return new Renderable(circles.Image,
|
||||
pos.ToFloat2() - .5f * circles.Image.size,
|
||||
|
||||
@@ -20,6 +20,7 @@ namespace OpenRA.Mods.RA.Effects
|
||||
{
|
||||
Actor building;
|
||||
Player player;
|
||||
RenderSimple rs;
|
||||
Animation anim = new Animation("allyrepair");
|
||||
|
||||
public RepairIndicator(Actor building, Player player)
|
||||
@@ -27,6 +28,7 @@ namespace OpenRA.Mods.RA.Effects
|
||||
this.building = building;
|
||||
this.player = player;
|
||||
anim.PlayRepeating("repair");
|
||||
rs = building.Trait<RenderSimple>();
|
||||
}
|
||||
|
||||
public void Tick(World world)
|
||||
@@ -44,10 +46,8 @@ namespace OpenRA.Mods.RA.Effects
|
||||
{
|
||||
if (!building.Destroyed)
|
||||
{
|
||||
var palette = building.Trait<RenderSimple>().Palette(player);
|
||||
|
||||
yield return new Renderable(anim.Image,
|
||||
building.CenterLocation.ToFloat2() - .5f * anim.Image.size, palette, (int)building.CenterLocation.Y);
|
||||
building.CenterLocation.ToFloat2() - .5f * anim.Image.size, rs.Palette(player, wr), (int)building.CenterLocation.Y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -508,7 +508,7 @@ namespace OpenRA.Mods.RA.Missions
|
||||
|
||||
public IEnumerable<Renderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<Renderable> r)
|
||||
{
|
||||
return r.Select(a => a.WithPalette(Palette(hijackable.OldOwner)));
|
||||
return r.Select(a => a.WithPalette(Palette(hijackable.OldOwner, wr)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#endregion
|
||||
|
||||
using System.Collections.Generic;
|
||||
using OpenRA.Graphics;
|
||||
using OpenRA.Traits;
|
||||
|
||||
namespace OpenRA.Mods.RA.Render
|
||||
@@ -23,6 +24,6 @@ namespace OpenRA.Mods.RA.Render
|
||||
public RenderEditorOnly(Actor self) : base(self, () => 0) { }
|
||||
|
||||
static readonly Renderable[] Nothing = { };
|
||||
public override IEnumerable<Renderable> Render(Actor self) { return Nothing; }
|
||||
public override IEnumerable<Renderable> Render(Actor self, WorldRenderer wr) { return Nothing; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace OpenRA.Mods.RA.Render
|
||||
|
||||
public IEnumerable<Renderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<Renderable> r)
|
||||
{
|
||||
return spy.disguisedAsPlayer != null ? r.Select(a => a.WithPalette(Palette(spy.disguisedAsPlayer))) : r;
|
||||
return spy.disguisedAsPlayer != null ? r.Select(a => a.WithPalette(Palette(spy.disguisedAsPlayer, wr))) : r;
|
||||
}
|
||||
|
||||
public override void Tick(Actor self)
|
||||
|
||||
@@ -57,11 +57,11 @@ namespace OpenRA.Mods.RA.Render
|
||||
mf.Animation.PlayThen("muzzle", () => isShowing = false);
|
||||
}
|
||||
|
||||
public IEnumerable<Renderable> Render(Actor self)
|
||||
public IEnumerable<Renderable> Render(Actor self, WorldRenderer wr)
|
||||
{
|
||||
foreach (var a in muzzleFlashes.Values)
|
||||
if (a.DisableFunc == null || !a.DisableFunc())
|
||||
yield return a.Image(self, PaletteReference.FromName("effect"));
|
||||
yield return a.Image(self, wr.Palette("effect"));
|
||||
}
|
||||
|
||||
public void Tick(Actor self)
|
||||
|
||||
Reference in New Issue
Block a user