Tweak some Render methods for efficiency.
This commit is contained in:
@@ -61,7 +61,7 @@ namespace OpenRA.Mods.Common.Effects
|
|||||||
|
|
||||||
public IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr)
|
public IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr)
|
||||||
{
|
{
|
||||||
yield return trail;
|
return new IRenderable[] { trail };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
var spaceBuffer = (int)(10 / wr.Viewport.Zoom);
|
var spaceBuffer = (int)(10 / wr.Viewport.Zoom);
|
||||||
var effectPos = wr.ProjectedPosition(new int2(pos.X, bounds.Y - spaceBuffer));
|
var effectPos = wr.ProjectedPosition(new int2(pos.X, bounds.Y - spaceBuffer));
|
||||||
|
|
||||||
yield return new TextRenderable(font, effectPos, 0, color, name);
|
return new IRenderable[] { new TextRenderable(font, effectPos, 0, color, name) };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,10 +103,10 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
initializePalettes = false;
|
initializePalettes = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
yield return new VoxelRenderable(
|
return new IRenderable[] { new VoxelRenderable(
|
||||||
components, self.CenterPosition, 0, camera, info.Scale,
|
components, self.CenterPosition, 0, camera, info.Scale,
|
||||||
lightSource, info.LightAmbientColor, info.LightDiffuseColor,
|
lightSource, info.LightAmbientColor, info.LightDiffuseColor,
|
||||||
colorPalette, normalsPalette, shadowPalette);
|
colorPalette, normalsPalette, shadowPalette) };
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Image { get { return info.Image ?? self.Info.Name; } }
|
public string Image { get { return info.Image ?? self.Info.Name; } }
|
||||||
|
|||||||
@@ -134,20 +134,20 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
public IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr)
|
public IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr)
|
||||||
{
|
{
|
||||||
if (info.ShadowImage == null)
|
if (info.ShadowImage == null)
|
||||||
yield break;
|
return Enumerable.Empty<IRenderable>();
|
||||||
|
|
||||||
if (IsTraitDisabled)
|
if (IsTraitDisabled)
|
||||||
yield break;
|
return Enumerable.Empty<IRenderable>();
|
||||||
|
|
||||||
if (self.IsDead || !self.IsInWorld)
|
if (self.IsDead || !self.IsInWorld)
|
||||||
yield break;
|
return Enumerable.Empty<IRenderable>();
|
||||||
|
|
||||||
if (self.World.FogObscures(self))
|
if (self.World.FogObscures(self))
|
||||||
yield break;
|
return Enumerable.Empty<IRenderable>();
|
||||||
|
|
||||||
shadow.Tick();
|
shadow.Tick();
|
||||||
var pos = self.CenterPosition - new WVec(0, 0, self.CenterPosition.Z);
|
var pos = self.CenterPosition - new WVec(0, 0, self.CenterPosition.Z);
|
||||||
yield return new SpriteRenderable(shadow.Image, pos, info.ShadowOffset, info.ShadowZOffset, wr.Palette(info.ShadowPalette), 1, true);
|
return new IRenderable[] { new SpriteRenderable(shadow.Image, pos, info.ShadowOffset, info.ShadowZOffset, wr.Palette(info.ShadowPalette), 1, true) };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user