Merge pull request #7532 from RoosterDragon/disabledoverlay-modifyrender
Adjust DisabledOverlay.ModifyRender to be more efficient.
This commit is contained in:
@@ -21,11 +21,19 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
{
|
{
|
||||||
public IEnumerable<IRenderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<IRenderable> r)
|
public IEnumerable<IRenderable> ModifyRender(Actor self, WorldRenderer wr, IEnumerable<IRenderable> r)
|
||||||
{
|
{
|
||||||
var disabled = self.IsDisabled();
|
if (!self.IsDisabled())
|
||||||
|
return r;
|
||||||
|
|
||||||
|
return ModifiedRender(self, wr, r);
|
||||||
|
}
|
||||||
|
|
||||||
|
IEnumerable<IRenderable> ModifiedRender(Actor self, WorldRenderer wr, IEnumerable<IRenderable> r)
|
||||||
|
{
|
||||||
foreach (var a in r)
|
foreach (var a in r)
|
||||||
{
|
{
|
||||||
yield return a;
|
yield return a;
|
||||||
if (disabled && !a.IsDecoration)
|
|
||||||
|
if (!a.IsDecoration)
|
||||||
yield return a.WithPalette(wr.Palette("disabled"))
|
yield return a.WithPalette(wr.Palette("disabled"))
|
||||||
.WithZOffset(a.ZOffset + 1)
|
.WithZOffset(a.ZOffset + 1)
|
||||||
.AsDecoration();
|
.AsDecoration();
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
{
|
{
|
||||||
if (IsTraitDisabled)
|
if (IsTraitDisabled)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
return ModifiedRender(self, wr, r);
|
return ModifiedRender(self, wr, r);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user