Rewrite ActorInit queries.

This commit is contained in:
Paul Chote
2020-05-24 22:28:16 +01:00
committed by teinarss
parent 626b40f31b
commit 7c6ec577dc
66 changed files with 332 additions and 265 deletions

View File

@@ -179,7 +179,7 @@ namespace OpenRA.Mods.Common.Traits
actor =>
{
var init = actor.Init<FacingInit>();
return init != null ? init.Value(world) : InitialFacing;
return init != null ? init.Value : InitialFacing;
},
(actor, value) => actor.ReplaceInit(new FacingInit((int)value)));
}
@@ -241,16 +241,16 @@ namespace OpenRA.Mods.Common.Traits
{
self = init.Self;
if (init.Contains<LocationInit>())
SetPosition(self, init.Get<LocationInit, CPos>());
var locationInit = init.GetOrDefault<LocationInit>(info);
if (locationInit != null)
SetPosition(self, locationInit.Value);
if (init.Contains<CenterPositionInit>())
SetPosition(self, init.Get<CenterPositionInit, WPos>());
var centerPositionInit = init.GetOrDefault<CenterPositionInit>(info);
if (centerPositionInit != null)
SetPosition(self, centerPositionInit.Value);
Facing = init.Contains<FacingInit>() ? init.Get<FacingInit, int>() : Info.InitialFacing;
if (init.Contains<CreationActivityDelayInit>())
creationActivityDelay = init.Get<CreationActivityDelayInit, int>();
Facing = init.GetValue<FacingInit, int>(info, Info.InitialFacing);
creationActivityDelay = init.GetValue<CreationActivityDelayInit, int>(info, 0);
}
public WDist LandAltitude

View File

@@ -57,7 +57,7 @@ namespace OpenRA.Mods.Common.Traits
public FallsToEarth(ActorInitializer init, FallsToEarthInfo info)
{
this.info = info;
effectiveOwner = init.Contains<EffectiveOwnerInit>() ? init.Get<EffectiveOwnerInit, Player>() : init.Self.Owner;
effectiveOwner = init.GetValue<EffectiveOwnerInit, Player>(info, init.Self.Owner);
}
// We return init.Self.Owner if there's no effective owner