Replace IActorInit with an abstract class.

A shared ValueActorInit<T> is introduced to reduce duplication
in the most common init cases, and an ActorInitActorReference
allow actors to be referenced by map.yaml name.
This commit is contained in:
Paul Chote
2020-06-02 19:37:18 +01:00
committed by teinarss
parent 4df5ac0385
commit b38018af9c
28 changed files with 365 additions and 306 deletions

View File

@@ -62,12 +62,10 @@ namespace OpenRA.Mods.Common.Traits
}
}
public class SkipMakeAnimsInit : IActorInit, ISuppressInitExport { }
public class SpawnedByMapInit : IActorInit<string>, ISuppressInitExport
public class SkipMakeAnimsInit : RuntimeFlagInit { }
public class SpawnedByMapInit : ValueActorInit<string>, ISuppressInitExport
{
public readonly string Name;
public SpawnedByMapInit(string name) { Name = name; }
public string Value { get { return Name; } }
public SpawnedByMapInit(string value)
: base(value) { }
}
}