add explicit Z to Renderable. eating my hat, etc.
This commit is contained in:
@@ -40,7 +40,7 @@ namespace OpenRA.Effects
|
|||||||
|
|
||||||
public IEnumerable<Renderable> Render()
|
public IEnumerable<Renderable> Render()
|
||||||
{
|
{
|
||||||
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size, "shadow");
|
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size, "shadow", (int)pos.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ namespace OpenRA.Effects
|
|||||||
public IEnumerable<Renderable> Render()
|
public IEnumerable<Renderable> Render()
|
||||||
{
|
{
|
||||||
yield return new Renderable(anim.Image,
|
yield return new Renderable(anim.Image,
|
||||||
a.CenterLocation - .5f * anim.Image.size, "chrome");
|
a.CenterLocation - .5f * anim.Image.size, "chrome", (int)a.CenterLocation.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ namespace OpenRA.Graphics
|
|||||||
{
|
{
|
||||||
public int Compare(Renderable x, Renderable y)
|
public int Compare(Renderable x, Renderable y)
|
||||||
{
|
{
|
||||||
return (x.Pos.Y + x.Sprite.size.Y + x.ZOffset).CompareTo(y.Pos.Y + y.Sprite.size.Y + y.ZOffset);
|
return (x.Z + x.ZOffset).CompareTo(y.Z + y.ZOffset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -138,22 +138,24 @@ namespace OpenRA.Traits
|
|||||||
public readonly Sprite Sprite;
|
public readonly Sprite Sprite;
|
||||||
public readonly float2 Pos;
|
public readonly float2 Pos;
|
||||||
public readonly string Palette;
|
public readonly string Palette;
|
||||||
|
public readonly int Z;
|
||||||
public readonly int ZOffset;
|
public readonly int ZOffset;
|
||||||
|
|
||||||
public Renderable(Sprite sprite, float2 pos, string palette, int zOffset)
|
public Renderable(Sprite sprite, float2 pos, string palette, int z, int zOffset)
|
||||||
{
|
{
|
||||||
Sprite = sprite;
|
Sprite = sprite;
|
||||||
Pos = pos;
|
Pos = pos;
|
||||||
Palette = palette;
|
Palette = palette;
|
||||||
|
Z = z;
|
||||||
ZOffset = zOffset;
|
ZOffset = zOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Renderable(Sprite sprite, float2 pos, string palette)
|
public Renderable(Sprite sprite, float2 pos, string palette, int z)
|
||||||
: this(sprite, pos, palette, 0) { }
|
: this(sprite, pos, palette, z, 0) { }
|
||||||
|
|
||||||
public Renderable WithPalette(string newPalette) { return new Renderable(Sprite, Pos, newPalette, ZOffset); }
|
public Renderable WithPalette(string newPalette) { return new Renderable(Sprite, Pos, newPalette, Z, ZOffset); }
|
||||||
public Renderable WithZOffset(int newOffset) { return new Renderable(Sprite, Pos, Palette, newOffset); }
|
public Renderable WithZOffset(int newOffset) { return new Renderable(Sprite, Pos, Palette, Z, newOffset); }
|
||||||
public Renderable WithPos(float2 newPos) { return new Renderable(Sprite, newPos, Palette, ZOffset); }
|
public Renderable WithPos(float2 newPos) { return new Renderable(Sprite, newPos, Palette, Z, ZOffset); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface ITraitInfo { object Create(ActorInitializer init); }
|
public interface ITraitInfo { object Create(ActorInitializer init); }
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ namespace OpenRA.Traits
|
|||||||
{
|
{
|
||||||
var pal = self.Owner == null ? "player0" : self.Owner.Palette;
|
var pal = self.Owner == null ? "player0" : self.Owner.Palette;
|
||||||
var loc = location - 0.5f * s.size;
|
var loc = location - 0.5f * s.size;
|
||||||
return new Renderable(s, loc.Round(), pal);
|
return new Renderable(s, loc.Round(), pal, (int)self.CenterLocation.Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IActivity SequenceActivities(params IActivity[] acts)
|
public static IActivity SequenceActivities(params IActivity[] acts)
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ namespace OpenRA.Mods.Cnc.Effects
|
|||||||
{
|
{
|
||||||
yield return new Renderable(anim.Image,
|
yield return new Renderable(anim.Image,
|
||||||
target.CenterLocation - new float2(.5f * anim.Image.size.X, anim.Image.size.Y - Game.CellSize),
|
target.CenterLocation - new float2(.5f * anim.Image.size.X, anim.Image.size.Y - Game.CellSize),
|
||||||
"effect");
|
"effect", (int)target.CenterLocation.Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Finish( World world )
|
void Finish( World world )
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ namespace OpenRA.Mods.RA
|
|||||||
public IEnumerable<Renderable> Render(Actor self)
|
public IEnumerable<Renderable> Render(Actor self)
|
||||||
{
|
{
|
||||||
foreach (var t in TileSprites[currentTemplate])
|
foreach (var t in TileSprites[currentTemplate])
|
||||||
yield return new Renderable(t.Value, Game.CellSize * t.Key, "terrain");
|
yield return new Renderable(t.Value, Game.CellSize * t.Key, "terrain", Game.CellSize * t.Key.Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IsIntact(Bridge b)
|
bool IsIntact(Bridge b)
|
||||||
|
|||||||
@@ -134,15 +134,15 @@ namespace OpenRA.Mods.RA.Effects
|
|||||||
if (Info.High || Info.Angle > 0)
|
if (Info.High || Info.Angle > 0)
|
||||||
{
|
{
|
||||||
if (Info.Shadow)
|
if (Info.Shadow)
|
||||||
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size, "shadow");
|
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size, "shadow", (int)pos.Y);
|
||||||
|
|
||||||
var highPos = pos - new float2(0, GetAltitude());
|
var highPos = pos - new float2(0, GetAltitude());
|
||||||
|
|
||||||
yield return new Renderable(anim.Image, highPos - .5f * anim.Image.size, Args.firedBy.Owner.Palette);
|
yield return new Renderable(anim.Image, highPos - .5f * anim.Image.size, Args.firedBy.Owner.Palette, (int)pos.Y);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size,
|
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size,
|
||||||
Args.weapon.Underwater ? "shadow" : Args.firedBy.Owner.Palette);
|
Args.weapon.Underwater ? "shadow" : Args.firedBy.Owner.Palette, (int)pos.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ namespace OpenRA.Mods.RA.Effects
|
|||||||
|
|
||||||
public IEnumerable<Renderable> Render()
|
public IEnumerable<Renderable> Render()
|
||||||
{
|
{
|
||||||
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size, owner.Palette);
|
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size, owner.Palette, (int)pos.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ namespace OpenRA.Mods.RA.Effects
|
|||||||
public IEnumerable<Renderable> Render()
|
public IEnumerable<Renderable> Render()
|
||||||
{
|
{
|
||||||
yield return new Renderable(anim.Image,
|
yield return new Renderable(anim.Image,
|
||||||
a.CenterLocation - .5f * anim.Image.size + offset, "effect");
|
a.CenterLocation - .5f * anim.Image.size + offset, "effect", (int)a.CenterLocation.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ namespace OpenRA.Mods.RA.Effects
|
|||||||
|
|
||||||
public IEnumerable<Renderable> Render()
|
public IEnumerable<Renderable> Render()
|
||||||
{
|
{
|
||||||
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size, "effect");
|
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size, "effect", (int)pos.Y);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Player Owner { get { return null; } }
|
public Player Owner { get { return null; } }
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ namespace OpenRA.Mods.RA.Effects
|
|||||||
|
|
||||||
public IEnumerable<Renderable> Render()
|
public IEnumerable<Renderable> Render()
|
||||||
{
|
{
|
||||||
yield return new Renderable(anim.Image,offset, "effect");
|
yield return new Renderable(anim.Image,offset, "effect", (int)offset.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ namespace OpenRA.Mods.RA.Effects
|
|||||||
public IEnumerable<Renderable> Render()
|
public IEnumerable<Renderable> Render()
|
||||||
{
|
{
|
||||||
yield return new Renderable(anim.Image,
|
yield return new Renderable(anim.Image,
|
||||||
Args.dest - new int2(0, altitude) - .5f * anim.Image.size, "effect");
|
Args.dest - new int2(0, altitude) - .5f * anim.Image.size, "effect", Args.dest.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ namespace OpenRA.Mods.RA.Effects
|
|||||||
|
|
||||||
public IEnumerable<Renderable> Render()
|
public IEnumerable<Renderable> Render()
|
||||||
{
|
{
|
||||||
yield return new Renderable(anim.Image, Pos - 0.5f * anim.Image.size - new float2(0, Altitude), "effect");
|
yield return new Renderable(anim.Image, Pos - 0.5f * anim.Image.size - new float2(0, Altitude), "effect", (int)Pos.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ namespace OpenRA.Mods.RA.Effects
|
|||||||
|
|
||||||
public IEnumerable<Renderable> Render()
|
public IEnumerable<Renderable> Render()
|
||||||
{
|
{
|
||||||
yield return new Renderable(anim.Image, pos - 0.5f * anim.Image.size - new float2(0, altitude), "effect");
|
yield return new Renderable(anim.Image, pos - 0.5f * anim.Image.size - new float2(0, altitude), "effect", (int)pos.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ namespace OpenRA.Mods.RA.Effects
|
|||||||
public IEnumerable<Renderable> Render()
|
public IEnumerable<Renderable> Render()
|
||||||
{
|
{
|
||||||
yield return new Renderable(doors.Image,
|
yield return new Renderable(doors.Image,
|
||||||
a.CenterLocation - .5f * doors.Image.size + doorOffset, "effect");
|
a.CenterLocation - .5f * doors.Image.size + doorOffset, "effect", (int)doorOffset.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ namespace OpenRA.Mods.RA.Effects
|
|||||||
|
|
||||||
public IEnumerable<Renderable> Render()
|
public IEnumerable<Renderable> Render()
|
||||||
{
|
{
|
||||||
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size, "effect");
|
yield return new Renderable(anim.Image, pos - .5f * anim.Image.size, "effect", (int)pos.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ namespace OpenRA.Mods.RA.Effects
|
|||||||
var step = steps.Where(t => (to - (z + new float2(t[0],t[1]))).LengthSquared < (to - z).LengthSquared )
|
var step = steps.Where(t => (to - (z + new float2(t[0],t[1]))).LengthSquared < (to - z).LengthSquared )
|
||||||
.OrderBy(t => Math.Abs(float2.Dot(z + new float2(t[0], t[1]), q) + c)).First();
|
.OrderBy(t => Math.Abs(float2.Dot(z + new float2(t[0], t[1]), q) + c)).First();
|
||||||
|
|
||||||
rs.Add(new Renderable(s.GetSprite(step[4]), z + new float2(step[2], step[3]), "effect"));
|
rs.Add(new Renderable(s.GetSprite(step[4]), z + new float2(step[2], step[3]), "effect", (int)from.Y));
|
||||||
z += new float2(step[0], step[1]);
|
z += new float2(step[0], step[1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ namespace OpenRA.Mods.RA
|
|||||||
RankAnim.Tick(); // hack
|
RankAnim.Tick(); // hack
|
||||||
var bounds = self.GetBounds(true);
|
var bounds = self.GetBounds(true);
|
||||||
yield return new Renderable(RankAnim.Image,
|
yield return new Renderable(RankAnim.Image,
|
||||||
new float2(bounds.Right - 6, bounds.Bottom - 8), "effect");
|
new float2(bounds.Right - 6, bounds.Bottom - 8), "effect", (int)self.CenterLocation.Y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ namespace OpenRA.Mods.RA.Render
|
|||||||
anims.Add( "turret_{0}".F(i),
|
anims.Add( "turret_{0}".F(i),
|
||||||
new AnimationWithOffset( turretAnim,
|
new AnimationWithOffset( turretAnim,
|
||||||
() => Combat.GetTurretPosition( self, facing, turret ),
|
() => Combat.GetTurretPosition( self, facing, turret ),
|
||||||
null) { ZOffset = 70 });
|
null));
|
||||||
|
|
||||||
if (attackInfo.MuzzleFlash)
|
if (attackInfo.MuzzleFlash)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user