Merge pull request #8586 from atlimit8/UpgradeManagerAfterIUpgradables

UpgradeManager after IUpgradables
This commit is contained in:
Matthias Mailänder
2015-06-28 20:41:28 +02:00
26 changed files with 53 additions and 46 deletions

View File

@@ -15,9 +15,9 @@ using OpenRA.Traits;
namespace OpenRA.Mods.Common.Traits
{
public class DisableUpgradeInfo : UpgradableTraitInfo, ITraitInfo
public class DisableUpgradeInfo : UpgradableTraitInfo
{
public object Create(ActorInitializer init) { return new DisableUpgrade(this); }
public override object Create(ActorInitializer init) { return new DisableUpgrade(this); }
}
public class DisableUpgrade : UpgradableTrait<DisableUpgradeInfo>, IDisable, IDisableMove

View File

@@ -15,7 +15,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.Common.Traits
{
/// <summary>Use as base class for *Info to subclass of UpgradableTrait. (See UpgradableTrait.)</summary>
public abstract class UpgradableTraitInfo
public abstract class UpgradableTraitInfo : IUpgradableInfo
{
[UpgradeUsedReference]
[Desc("The upgrade types which can enable or disable this trait.")]
@@ -32,6 +32,8 @@ namespace OpenRA.Mods.Common.Traits
[Desc("The maximum upgrade level that this trait will accept.")]
public readonly int UpgradeMaxAcceptedLevel = 1;
public abstract object Create(ActorInitializer init);
}
/// <summary>

View File

@@ -19,7 +19,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.Common.Traits
{
[Desc("Attach this to a unit to enable dynamic upgrades by warheads, experience, crates, support powers, etc.")]
public class UpgradeManagerInfo : ITraitInfo
public class UpgradeManagerInfo : ITraitInfo, Requires<IUpgradableInfo>
{
public object Create(ActorInitializer init) { return new UpgradeManager(init); }
}