Spatially partition some actor overlays
This commit is contained in:
@@ -99,6 +99,8 @@ namespace OpenRA.Mods.Common.Traits
|
||||
return RangeCircleRenderables(wr);
|
||||
}
|
||||
|
||||
bool IRenderAboveShroudWhenSelected.SpatiallyPartitionable { get { return false; } }
|
||||
|
||||
float ISelectionBar.GetValue()
|
||||
{
|
||||
// Visible to player and allies
|
||||
|
||||
@@ -83,6 +83,8 @@ namespace OpenRA.Mods.Common.Traits
|
||||
}
|
||||
}
|
||||
|
||||
bool IRenderAboveShroudWhenSelected.SpatiallyPartitionable { get { return false; } }
|
||||
|
||||
void INotifyBecomingIdle.OnBecomingIdle(Actor a)
|
||||
{
|
||||
if (a.IsIdle)
|
||||
|
||||
@@ -97,5 +97,7 @@ namespace OpenRA.Mods.Common.Traits.Render
|
||||
var aiSquadInfo = "{0}, {1}".F(squad.Type, squad.TargetActor);
|
||||
yield return new TextRenderable(font, self.CenterPosition + offset, 0, color, aiSquadInfo);
|
||||
}
|
||||
|
||||
bool IRenderAboveShroudWhenSelected.SpatiallyPartitionable { get { return true; } }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,6 +69,8 @@ namespace OpenRA.Mods.Common.Traits.Render
|
||||
info.ContrastColor);
|
||||
}
|
||||
|
||||
bool IRenderAboveShroudWhenSelected.SpatiallyPartitionable { get { return false; } }
|
||||
|
||||
void ITick.Tick(Actor self)
|
||||
{
|
||||
lineAngle += info.UpdateLineTick;
|
||||
|
||||
@@ -112,5 +112,7 @@ namespace OpenRA.Mods.Common.Traits.Render
|
||||
{
|
||||
return RangeCircleRenderables(wr);
|
||||
}
|
||||
|
||||
bool IRenderAboveShroudWhenSelected.SpatiallyPartitionable { get { return false; } }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,6 +82,8 @@ namespace OpenRA.Mods.Common.Traits.Render
|
||||
return DrawDecorations(self, wr);
|
||||
}
|
||||
|
||||
bool IRenderAboveShroud.SpatiallyPartitionable { get { return true; } }
|
||||
|
||||
IEnumerable<IRenderable> DrawDecorations(Actor self, WorldRenderer wr)
|
||||
{
|
||||
var selected = self.World.Selection.Contains(self);
|
||||
|
||||
@@ -92,6 +92,9 @@ namespace OpenRA.Mods.Common.Traits.Render
|
||||
return Info.RequiresSelection ? RenderInner(self, wr) : SpriteRenderable.None;
|
||||
}
|
||||
|
||||
bool IRenderAboveShroud.SpatiallyPartitionable { get { return true; } }
|
||||
bool IRenderAboveShroudWhenSelected.SpatiallyPartitionable { get { return true; } }
|
||||
|
||||
IEnumerable<IRenderable> RenderInner(Actor self, WorldRenderer wr)
|
||||
{
|
||||
if (IsTraitDisabled || self.IsDead || !self.IsInWorld || Anim == null)
|
||||
|
||||
@@ -97,6 +97,8 @@ namespace OpenRA.Mods.Common.Traits.Render
|
||||
return RenderRangeCircle(self, wr);
|
||||
}
|
||||
|
||||
bool IRenderAboveShroudWhenSelected.SpatiallyPartitionable { get { return false; } }
|
||||
|
||||
void IRenderAboveWorld.RenderAboveWorld(Actor self, WorldRenderer wr)
|
||||
{
|
||||
if (Info.Visible == RangeCircleVisibility.Always && Visible)
|
||||
|
||||
@@ -62,6 +62,8 @@ namespace OpenRA.Mods.Common.Traits.Render
|
||||
yield return r;
|
||||
}
|
||||
|
||||
bool IRenderAboveShroudWhenSelected.SpatiallyPartitionable { get { return true; } }
|
||||
|
||||
IEnumerable<IRenderable> DrawControlGroup(Actor self, WorldRenderer wr, PaletteReference palette)
|
||||
{
|
||||
var group = self.World.Selection.GetControlGroupForActor(self);
|
||||
|
||||
@@ -79,6 +79,8 @@ namespace OpenRA.Mods.Common.Traits.Render
|
||||
yield return r;
|
||||
}
|
||||
|
||||
bool IRenderAboveShroudWhenSelected.SpatiallyPartitionable { get { return true; } }
|
||||
|
||||
IEnumerable<IRenderable> DrawControlGroup(Actor self, WorldRenderer wr)
|
||||
{
|
||||
var group = self.World.Selection.GetControlGroupForActor(self);
|
||||
|
||||
@@ -88,6 +88,8 @@ namespace OpenRA.Mods.Common.Traits.Render
|
||||
return Info.RequiresSelection ? RenderInner(self, wr) : SpriteRenderable.None;
|
||||
}
|
||||
|
||||
bool IRenderAboveShroudWhenSelected.SpatiallyPartitionable { get { return true; } }
|
||||
|
||||
IEnumerable<IRenderable> RenderInner(Actor self, WorldRenderer wr)
|
||||
{
|
||||
if (IsTraitDisabled || self.IsDead || !self.IsInWorld)
|
||||
|
||||
Reference in New Issue
Block a user