Add property requirements to safe traits

This commit is contained in:
atlimit8
2015-07-11 16:30:27 -05:00
parent 7881ff40bf
commit 1bcc07ce69
50 changed files with 68 additions and 41 deletions

View File

@@ -17,6 +17,7 @@ namespace OpenRA.Mods.RA.Traits
[Desc("Creates a free duplicate of produced units.")]
public class ClonesProducedUnitsInfo : ITraitInfo, Requires<ProductionInfo>, Requires<ExitInfo>
{
[FieldLoader.Require]
[Desc("Uses the \"Cloneable\" trait to determine whether or not we should clone a produced unit.")]
public readonly string[] CloneableTypes = { };

View File

@@ -16,6 +16,7 @@ namespace OpenRA.Mods.RA.Traits
[Desc("Actors with the \"ClonesProducedUnits\" trait will produce a free duplicate of me.")]
public class CloneableInfo : TraitInfo<Cloneable>
{
[FieldLoader.Require]
[Desc("This unit's cloneable type is:")]
public readonly string[] Types = { };
}

View File

@@ -15,7 +15,7 @@ namespace OpenRA.Mods.RA.Traits
{
class InfiltrateForSupportPowerInfo : ITraitInfo
{
[ActorReference] public readonly string Proxy = null;
[ActorReference, FieldLoader.Require] public readonly string Proxy = null;
public object Create(ActorInitializer init) { return new InfiltrateForSupportPower(this); }
}

View File

@@ -18,7 +18,7 @@ namespace OpenRA.Mods.RA.Traits
[Desc("Spawn another actor immediately upon death.")]
public class LeavesHuskInfo : ITraitInfo
{
[ActorReference]
[ActorReference, FieldLoader.Require]
public readonly string HuskActor = null;
public object Create(ActorInitializer init) { return new LeavesHusk(init, this); }