Add IActorPreviewInitInfo interface.

This commit is contained in:
Paul Chote
2017-06-28 18:16:14 +01:00
committed by RoosterDragon
parent e10b64d62c
commit b2c3a55c12
4 changed files with 21 additions and 1 deletions

View File

@@ -198,6 +198,8 @@ namespace OpenRA.Mods.Common.Orders
{
if (!initialized)
{
var actor = rules.Actors[building];
var td = new TypeDictionary()
{
new FactionInit(faction),
@@ -205,7 +207,11 @@ namespace OpenRA.Mods.Common.Orders
new HideBibPreviewInit()
};
var init = new ActorPreviewInitializer(rules.Actors[building], wr, td);
foreach (var api in actor.TraitInfos<IActorPreviewInitInfo>())
foreach (var o in api.ActorPreviewInits(actor, ActorPreviewType.PlaceBuilding))
td.Add(o);
var init = new ActorPreviewInitializer(actor, wr, td);
preview = rules.Actors[building].TraitInfos<IRenderActorPreviewInfo>()
.SelectMany(rpi => rpi.RenderPreview(init))
.ToArray();