From 55045d691a7ed86c3fce82a4438fa3f7ccd63bdf Mon Sep 17 00:00:00 2001 From: Pavel Penev Date: Sun, 30 Aug 2015 02:13:56 +0300 Subject: [PATCH] Make SeedsResource upgradable --- OpenRA.Mods.Common/Traits/SeedsResource.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/OpenRA.Mods.Common/Traits/SeedsResource.cs b/OpenRA.Mods.Common/Traits/SeedsResource.cs index f1b1eca9a2..0f15622957 100644 --- a/OpenRA.Mods.Common/Traits/SeedsResource.cs +++ b/OpenRA.Mods.Common/Traits/SeedsResource.cs @@ -17,16 +17,16 @@ using OpenRA.Traits; namespace OpenRA.Mods.Common.Traits { [Desc("Lets the actor spread resources around it in a circle.")] - class SeedsResourceInfo : ITraitInfo + class SeedsResourceInfo : UpgradableTraitInfo { public readonly int Interval = 75; public readonly string ResourceType = "Ore"; public readonly int MaxRange = 100; - public object Create(ActorInitializer init) { return new SeedsResource(init.Self, this); } + public override object Create(ActorInitializer init) { return new SeedsResource(init.Self, this); } } - class SeedsResource : ITick, ISeedableResource + class SeedsResource : UpgradableTrait, ITick, ISeedableResource { readonly SeedsResourceInfo info; @@ -34,6 +34,7 @@ namespace OpenRA.Mods.Common.Traits readonly ResourceLayer resLayer; public SeedsResource(Actor self, SeedsResourceInfo info) + : base(info) { this.info = info; @@ -50,6 +51,9 @@ namespace OpenRA.Mods.Common.Traits public void Tick(Actor self) { + if (IsTraitDisabled) + return; + if (--ticks <= 0) { Seed(self);