Add ScreenBounds method to IRender interface.

This method is expected to return Rectangles that cover
the region where Renderables returned by Render may exist.
This commit is contained in:
Paul Chote
2017-12-05 17:40:45 +00:00
committed by reaperrr
parent 46f6263061
commit 86bfe28ade
15 changed files with 133 additions and 5 deletions

View File

@@ -302,6 +302,12 @@ namespace OpenRA.Traits
.SelectMany(ff => ff.Render(wr));
}
public IEnumerable<Rectangle> ScreenBounds(Actor self, WorldRenderer wr)
{
// Player-actor render traits don't require screen bounds
yield break;
}
public FrozenActor FromID(uint id)
{
FrozenActor fa;

View File

@@ -96,7 +96,11 @@ namespace OpenRA.Traits
public interface ITick { void Tick(Actor self); }
[RequireExplicitImplementation]
public interface ITickRender { void TickRender(WorldRenderer wr, Actor self); }
public interface IRender { IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr); }
public interface IRender
{
IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr);
IEnumerable<Rectangle> ScreenBounds(Actor self, WorldRenderer wr);
}
public interface IAutoSelectionSizeInfo : ITraitInfoInterface { }
public interface IAutoSelectionSize { int2 SelectionSize(Actor self); }