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:
@@ -10,6 +10,7 @@
|
||||
#endregion
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using OpenRA.Graphics;
|
||||
using OpenRA.Mods.Common;
|
||||
@@ -98,6 +99,14 @@ namespace OpenRA.Mods.Cnc.Traits.Render
|
||||
}
|
||||
}
|
||||
|
||||
IEnumerable<Rectangle> IRender.ScreenBounds(Actor self, WorldRenderer wr)
|
||||
{
|
||||
var pos = self.CenterPosition;
|
||||
foreach (var p in previews.Values.SelectMany(p => p))
|
||||
foreach (var b in p.ScreenBounds(wr, pos))
|
||||
yield return b;
|
||||
}
|
||||
|
||||
void INotifyPassengerEntered.OnPassengerEntered(Actor self, Actor passenger)
|
||||
{
|
||||
if (info.DisplayTypes.Contains(passenger.Trait<Passenger>().Info.CargoType))
|
||||
|
||||
Reference in New Issue
Block a user