Remove Owner from ActorPreviews.
This commit is contained in:
@@ -25,16 +25,14 @@ namespace OpenRA.Mods.Common.Graphics
|
|||||||
public class ActorPreviewInitializer
|
public class ActorPreviewInitializer
|
||||||
{
|
{
|
||||||
public readonly ActorInfo Actor;
|
public readonly ActorInfo Actor;
|
||||||
public readonly Player Owner;
|
|
||||||
public readonly WorldRenderer WorldRenderer;
|
public readonly WorldRenderer WorldRenderer;
|
||||||
public World World { get { return WorldRenderer.World; } }
|
public World World { get { return WorldRenderer.World; } }
|
||||||
|
|
||||||
readonly TypeDictionary dict;
|
readonly TypeDictionary dict;
|
||||||
|
|
||||||
public ActorPreviewInitializer(ActorInfo actor, Player owner, WorldRenderer worldRenderer, TypeDictionary dict)
|
public ActorPreviewInitializer(ActorInfo actor, WorldRenderer worldRenderer, TypeDictionary dict)
|
||||||
{
|
{
|
||||||
Actor = actor;
|
Actor = actor;
|
||||||
Owner = owner;
|
|
||||||
WorldRenderer = worldRenderer;
|
WorldRenderer = worldRenderer;
|
||||||
this.dict = dict;
|
this.dict = dict;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -170,10 +170,11 @@ namespace OpenRA.Mods.Common.Orders
|
|||||||
var td = new TypeDictionary()
|
var td = new TypeDictionary()
|
||||||
{
|
{
|
||||||
new RaceInit(race),
|
new RaceInit(race),
|
||||||
|
new OwnerInit(producer.Owner),
|
||||||
new HideBibPreviewInit()
|
new HideBibPreviewInit()
|
||||||
};
|
};
|
||||||
|
|
||||||
var init = new ActorPreviewInitializer(rules.Actors[building], producer.Owner, wr, td);
|
var init = new ActorPreviewInitializer(rules.Actors[building], wr, td);
|
||||||
preview = rules.Actors[building].Traits.WithInterface<IRenderActorPreviewInfo>()
|
preview = rules.Actors[building].Traits.WithInterface<IRenderActorPreviewInfo>()
|
||||||
.SelectMany(rpi => rpi.RenderPreview(init))
|
.SelectMany(rpi => rpi.RenderPreview(init))
|
||||||
.ToArray();
|
.ToArray();
|
||||||
|
|||||||
@@ -56,15 +56,16 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
public IEnumerable<IActorPreview> RenderPreview(ActorPreviewInitializer init)
|
public IEnumerable<IActorPreview> RenderPreview(ActorPreviewInitializer init)
|
||||||
{
|
{
|
||||||
var sequenceProvider = init.World.Map.SequenceProvider;
|
var sequenceProvider = init.World.Map.SequenceProvider;
|
||||||
var race = init.Contains<RaceInit>() ? init.Get<RaceInit, string>() : init.Owner.Country.Race;
|
var race = init.Get<RaceInit, string>();
|
||||||
|
var ownerName = init.Get<OwnerInit>().PlayerName;
|
||||||
var image = GetImage(init.Actor, sequenceProvider, race);
|
var image = GetImage(init.Actor, sequenceProvider, race);
|
||||||
var palette = init.WorldRenderer.Palette(Palette ?? PlayerPalette + init.Owner.InternalName);
|
var palette = init.WorldRenderer.Palette(Palette ?? PlayerPalette + ownerName);
|
||||||
|
|
||||||
var facings = 0;
|
var facings = 0;
|
||||||
var body = init.Actor.Traits.GetOrDefault<BodyOrientationInfo>();
|
var body = init.Actor.Traits.GetOrDefault<BodyOrientationInfo>();
|
||||||
if (body != null)
|
if (body != null)
|
||||||
facings = body.QuantizedFacings == -1 ?
|
facings = body.QuantizedFacings == -1 ?
|
||||||
init.Actor.Traits.Get<IQuantizeBodyOrientationInfo>().QuantizedBodyFacings(init.Actor, sequenceProvider, init.Owner.Country.Race) :
|
init.Actor.Traits.Get<IQuantizeBodyOrientationInfo>().QuantizedBodyFacings(init.Actor, sequenceProvider, race) :
|
||||||
body.QuantizedFacings;
|
body.QuantizedFacings;
|
||||||
|
|
||||||
foreach (var spi in init.Actor.Traits.WithInterface<IRenderActorPreviewSpritesInfo>())
|
foreach (var spi in init.Actor.Traits.WithInterface<IRenderActorPreviewSpritesInfo>())
|
||||||
|
|||||||
@@ -46,9 +46,9 @@ namespace OpenRA.Mods.Common.Widgets
|
|||||||
|
|
||||||
public override Widget Clone() { return new ActorPreviewWidget(this); }
|
public override Widget Clone() { return new ActorPreviewWidget(this); }
|
||||||
|
|
||||||
public void SetPreview(ActorInfo actor, Player owner, TypeDictionary td)
|
public void SetPreview(ActorInfo actor, TypeDictionary td)
|
||||||
{
|
{
|
||||||
var init = new ActorPreviewInitializer(actor, owner, worldRenderer, td);
|
var init = new ActorPreviewInitializer(actor, worldRenderer, td);
|
||||||
preview = actor.Traits.WithInterface<IRenderActorPreviewInfo>()
|
preview = actor.Traits.WithInterface<IRenderActorPreviewInfo>()
|
||||||
.SelectMany(rpi => rpi.RenderPreview(init))
|
.SelectMany(rpi => rpi.RenderPreview(init))
|
||||||
.ToArray();
|
.ToArray();
|
||||||
|
|||||||
@@ -30,8 +30,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic
|
|||||||
|
|
||||||
var td = new TypeDictionary();
|
var td = new TypeDictionary();
|
||||||
td.Add(new HideBibPreviewInit());
|
td.Add(new HideBibPreviewInit());
|
||||||
|
td.Add(new OwnerInit(world.WorldActor.Owner));
|
||||||
preview.SetPreview(actor, world.WorldActor.Owner, td);
|
td.Add(new RaceInit(world.WorldActor.Owner.PlayerReference.Race));
|
||||||
|
preview.SetPreview(actor, td);
|
||||||
|
|
||||||
var hueSlider = widget.Get<SliderWidget>("HUE");
|
var hueSlider = widget.Get<SliderWidget>("HUE");
|
||||||
var mixer = widget.Get<ColorMixerWidget>("MIXER");
|
var mixer = widget.Get<ColorMixerWidget>("MIXER");
|
||||||
|
|||||||
@@ -49,12 +49,14 @@ namespace OpenRA.Mods.TS.Traits
|
|||||||
public virtual IEnumerable<IActorPreview> RenderPreview(ActorPreviewInitializer init)
|
public virtual IEnumerable<IActorPreview> RenderPreview(ActorPreviewInitializer init)
|
||||||
{
|
{
|
||||||
var body = init.Actor.Traits.Get<BodyOrientationInfo>();
|
var body = init.Actor.Traits.Get<BodyOrientationInfo>();
|
||||||
|
var race = init.Get<RaceInit, string>();
|
||||||
|
var ownerName = init.Get<OwnerInit>().PlayerName;
|
||||||
var sequenceProvider = init.World.Map.SequenceProvider;
|
var sequenceProvider = init.World.Map.SequenceProvider;
|
||||||
var image = Image ?? init.Actor.Name;
|
var image = Image ?? init.Actor.Name;
|
||||||
var facings = body.QuantizedFacings == -1 ?
|
var facings = body.QuantizedFacings == -1 ?
|
||||||
init.Actor.Traits.Get<IQuantizeBodyOrientationInfo>().QuantizedBodyFacings(init.Actor, sequenceProvider, init.Owner.Country.Race) :
|
init.Actor.Traits.Get<IQuantizeBodyOrientationInfo>().QuantizedBodyFacings(init.Actor, sequenceProvider, race) :
|
||||||
body.QuantizedFacings;
|
body.QuantizedFacings;
|
||||||
var palette = init.WorldRenderer.Palette(Palette ?? PlayerPalette + init.Owner.InternalName);
|
var palette = init.WorldRenderer.Palette(Palette ?? PlayerPalette + ownerName);
|
||||||
|
|
||||||
var ifacing = init.Actor.Traits.GetOrDefault<IFacingInfo>();
|
var ifacing = init.Actor.Traits.GetOrDefault<IFacingInfo>();
|
||||||
var facing = ifacing != null ? init.Contains<FacingInit>() ? init.Get<FacingInit, int>() : ifacing.GetInitialFacing() : 0;
|
var facing = ifacing != null ? init.Contains<FacingInit>() ? init.Get<FacingInit, int>() : ifacing.GetInitialFacing() : 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user