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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
yield return a;
|
||||
if (disabled && !a.IsDecoration)
|
||||
|
||||
if (!a.IsDecoration)
|
||||
yield return a.WithPalette(wr.Palette("disabled"))
|
||||
.WithZOffset(a.ZOffset + 1)
|
||||
.AsDecoration();
|
||||
|
||||
@@ -32,6 +32,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
if (IsTraitDisabled)
|
||||
return r;
|
||||
|
||||
return ModifiedRender(self, wr, r);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user