@@ -73,7 +73,7 @@ namespace OpenRA.Mods.RA.Effects
|
||||
foreach (var c in rc)
|
||||
{
|
||||
yield return c.WithPalette(shadow).WithZOffset(-1);
|
||||
yield return c.WithPos(pos);
|
||||
yield return c.OffsetBy(pos - c.Pos);
|
||||
}
|
||||
|
||||
foreach (var r in paraAnim.Render(pos, parachuteOffset, 1, rc.First().Palette, 1f))
|
||||
|
||||
@@ -100,7 +100,7 @@ namespace OpenRA.Mods.RA.Orders
|
||||
|
||||
var offset = topLeft.CenterPosition + FootprintUtils.CenterOffset(BuildingInfo) - WPos.Zero;
|
||||
foreach (var r in preview)
|
||||
r.WithPos(r.Pos + offset).Render(wr);
|
||||
r.OffsetBy(offset).Render(wr);
|
||||
|
||||
var res = world.WorldActor.Trait<ResourceLayer>();
|
||||
var isCloseEnough = BuildingInfo.IsCloseEnoughToBase(world, world.LocalPlayer, Building, topLeft);
|
||||
|
||||
@@ -30,11 +30,14 @@ namespace OpenRA.Mods.RA.Render
|
||||
var visualOffset = (ios is Helicopter && flying)
|
||||
? (int)Math.Abs((self.ActorID + Game.LocalTick) / 5 % 4 - 1) - 1 : 0;
|
||||
|
||||
var shadowSprites = r.Select(a => a.WithPalette(wr.Palette("shadow"))
|
||||
.WithPos(a.Pos - new WVec(0, 0, a.Pos.Z)).WithZOffset(a.ZOffset + a.Pos.Z));
|
||||
// Contrails shouldn't cast shadows
|
||||
var shadowSprites = r.Where(s => !(s is ContrailRenderable))
|
||||
.Select(a => a.WithPalette(wr.Palette("shadow"))
|
||||
.OffsetBy(new WVec(0, 0, -a.Pos.Z)).WithZOffset(a.ZOffset + a.Pos.Z));
|
||||
|
||||
var worldVisualOffset = new WVec(0,0,-43*visualOffset);
|
||||
var flyingSprites = !flying ? r :
|
||||
r.Select(a => a.WithPos(a.Pos - new WVec(0,0,43*visualOffset)));
|
||||
r.Select(a => a.OffsetBy(worldVisualOffset));
|
||||
|
||||
return shadowSprites.Concat(flyingSprites);
|
||||
}
|
||||
|
||||
@@ -247,7 +247,7 @@ namespace OpenRA.Mods.RA
|
||||
var offset = (xy - sourceLocation).ToWVec();
|
||||
if (manager.self.Owner.Shroud.IsTargetable(unit))
|
||||
foreach (var r in unit.Render(wr))
|
||||
r.WithPos(r.Pos + offset).Render(wr);
|
||||
r.OffsetBy(offset).Render(wr);
|
||||
}
|
||||
|
||||
// Unit tiles
|
||||
|
||||
@@ -64,8 +64,8 @@ namespace OpenRA.Mods.RA
|
||||
public IRenderable WithScale(float newScale) { return new TeslaZapRenderable(pos, zOffset, length, image, brightZaps, dimZaps); }
|
||||
public IRenderable WithPalette(PaletteReference newPalette) { return new TeslaZapRenderable(pos, zOffset, length, image, brightZaps, dimZaps); }
|
||||
public IRenderable WithZOffset(int newOffset) { return new TeslaZapRenderable(pos, zOffset, length, image, brightZaps, dimZaps); }
|
||||
public IRenderable WithPos(WPos pos) { return new TeslaZapRenderable(pos, zOffset, length, image, brightZaps, dimZaps); }
|
||||
|
||||
public IRenderable OffsetBy(WVec vec) { return new TeslaZapRenderable(pos + vec, zOffset, length, image, brightZaps, dimZaps); }
|
||||
|
||||
public void BeforeRender(WorldRenderer wr) { }
|
||||
public void RenderDebugGeometry(WorldRenderer wr) { }
|
||||
public void Render(WorldRenderer wr)
|
||||
|
||||
Reference in New Issue
Block a user