Add ISingleInstanceInit interface.
Inits that are logically singletons (e.g. actor location or owner) should implement this interface to avoid runtime inconsistencies. Duplicate instances are rejected at init-time, allowing simpler queries when they are used.
This commit is contained in:
@@ -249,16 +249,16 @@ namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
self = init.Self;
|
||||
|
||||
var locationInit = init.GetOrDefault<LocationInit>(info);
|
||||
var locationInit = init.GetOrDefault<LocationInit>();
|
||||
if (locationInit != null)
|
||||
SetPosition(self, locationInit.Value);
|
||||
|
||||
var centerPositionInit = init.GetOrDefault<CenterPositionInit>(info);
|
||||
var centerPositionInit = init.GetOrDefault<CenterPositionInit>();
|
||||
if (centerPositionInit != null)
|
||||
SetPosition(self, centerPositionInit.Value);
|
||||
|
||||
Facing = WAngle.FromFacing(init.GetValue<FacingInit, int>(info, Info.InitialFacing));
|
||||
creationActivityDelay = init.GetValue<CreationActivityDelayInit, int>(info, 0);
|
||||
Facing = WAngle.FromFacing(init.GetValue<FacingInit, int>(Info.InitialFacing));
|
||||
creationActivityDelay = init.GetValue<CreationActivityDelayInit, int>(0);
|
||||
}
|
||||
|
||||
public WDist LandAltitude
|
||||
|
||||
Reference in New Issue
Block a user