diff --git a/OpenRA.Game/Traits/TraitsInterfaces.cs b/OpenRA.Game/Traits/TraitsInterfaces.cs index 50d31c0096..673c1736c3 100644 --- a/OpenRA.Game/Traits/TraitsInterfaces.cs +++ b/OpenRA.Game/Traits/TraitsInterfaces.cs @@ -92,6 +92,7 @@ namespace OpenRA.Traits } } + [RequireExplicitImplementation] public interface ITick { void Tick(Actor self); } public interface ITickRender { void TickRender(WorldRenderer wr, Actor self); } public interface IRender { IEnumerable Render(Actor self, WorldRenderer wr); } diff --git a/OpenRA.Mods.Common/AI/HackyAI.cs b/OpenRA.Mods.Common/AI/HackyAI.cs index 104726f83d..a2c3ca6bf2 100644 --- a/OpenRA.Mods.Common/AI/HackyAI.cs +++ b/OpenRA.Mods.Common/AI/HackyAI.cs @@ -583,7 +583,7 @@ namespace OpenRA.Mods.Common.AI return null; } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (!IsEnabled) return; diff --git a/OpenRA.Mods.Common/Scripting/LuaScript.cs b/OpenRA.Mods.Common/Scripting/LuaScript.cs index 7e29b2e793..b5731ec94b 100644 --- a/OpenRA.Mods.Common/Scripting/LuaScript.cs +++ b/OpenRA.Mods.Common/Scripting/LuaScript.cs @@ -43,7 +43,7 @@ namespace OpenRA.Mods.Common.Scripting context.WorldLoaded(); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { context.Tick(self); } diff --git a/OpenRA.Mods.Common/Traits/AmmoPool.cs b/OpenRA.Mods.Common/Traits/AmmoPool.cs index 5892c49ad8..fc7eb7746b 100644 --- a/OpenRA.Mods.Common/Traits/AmmoPool.cs +++ b/OpenRA.Mods.Common/Traits/AmmoPool.cs @@ -106,7 +106,7 @@ namespace OpenRA.Mods.Common.Traits void INotifyAttack.PreparingAttack(Actor self, Target target, Armament a, Barrel barrel) { } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (!Info.SelfReloads) return; diff --git a/OpenRA.Mods.Common/Traits/Attack/AttackFollow.cs b/OpenRA.Mods.Common/Traits/Attack/AttackFollow.cs index 06f67bacc9..ebcf5fd1bf 100644 --- a/OpenRA.Mods.Common/Traits/Attack/AttackFollow.cs +++ b/OpenRA.Mods.Common/Traits/Attack/AttackFollow.cs @@ -29,7 +29,12 @@ namespace OpenRA.Mods.Common.Traits public AttackFollow(Actor self, AttackFollowInfo info) : base(self, info) { } - public virtual void Tick(Actor self) + void ITick.Tick(Actor self) + { + Tick(self); + } + + protected virtual void Tick(Actor self) { if (IsTraitDisabled) { diff --git a/OpenRA.Mods.Common/Traits/Attack/AttackGarrisoned.cs b/OpenRA.Mods.Common/Traits/Attack/AttackGarrisoned.cs index 9340f6b7c4..b7d373fc23 100644 --- a/OpenRA.Mods.Common/Traits/Attack/AttackGarrisoned.cs +++ b/OpenRA.Mods.Common/Traits/Attack/AttackGarrisoned.cs @@ -199,7 +199,7 @@ namespace OpenRA.Mods.Common.Traits yield return r; } - public override void Tick(Actor self) + protected override void Tick(Actor self) { base.Tick(self); diff --git a/OpenRA.Mods.Common/Traits/Buildings/RepairableBuilding.cs b/OpenRA.Mods.Common/Traits/Buildings/RepairableBuilding.cs index 27ce1d68a9..d55484a088 100644 --- a/OpenRA.Mods.Common/Traits/Buildings/RepairableBuilding.cs +++ b/OpenRA.Mods.Common/Traits/Buildings/RepairableBuilding.cs @@ -90,7 +90,7 @@ namespace OpenRA.Mods.Common.Traits int remainingTicks; - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (IsTraitDisabled) { diff --git a/OpenRA.Mods.Common/Traits/Burns.cs b/OpenRA.Mods.Common/Traits/Burns.cs index 5e561a5fca..9ed34cb828 100644 --- a/OpenRA.Mods.Common/Traits/Burns.cs +++ b/OpenRA.Mods.Common/Traits/Burns.cs @@ -40,7 +40,7 @@ namespace OpenRA.Mods.Common.Traits self.Trait().Add(anim); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (--ticks <= 0) { diff --git a/OpenRA.Mods.Common/Traits/Conditions/GrantConditionOnDisabled.cs b/OpenRA.Mods.Common/Traits/Conditions/GrantConditionOnDisabled.cs index aa778ba772..3ff89b9253 100644 --- a/OpenRA.Mods.Common/Traits/Conditions/GrantConditionOnDisabled.cs +++ b/OpenRA.Mods.Common/Traits/Conditions/GrantConditionOnDisabled.cs @@ -45,7 +45,12 @@ namespace OpenRA.Mods.Common.Traits Tick(self); } - public void Tick(Actor self) + void ITick.Tick(Actor self) + { + Tick(self); + } + + protected void Tick(Actor self) { if (conditionManager == null) return; diff --git a/OpenRA.Mods.Common/Traits/Conditions/GrantConditionOnTerrain.cs b/OpenRA.Mods.Common/Traits/Conditions/GrantConditionOnTerrain.cs index 30718256b1..a50dd87b37 100644 --- a/OpenRA.Mods.Common/Traits/Conditions/GrantConditionOnTerrain.cs +++ b/OpenRA.Mods.Common/Traits/Conditions/GrantConditionOnTerrain.cs @@ -46,7 +46,7 @@ namespace OpenRA.Mods.Common.Traits conditionManager = self.TraitOrDefault(); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (conditionManager == null) return; diff --git a/OpenRA.Mods.Common/Traits/Conditions/ProximityExternalCondition.cs b/OpenRA.Mods.Common/Traits/Conditions/ProximityExternalCondition.cs index d6057fbd9d..6472ee513c 100644 --- a/OpenRA.Mods.Common/Traits/Conditions/ProximityExternalCondition.cs +++ b/OpenRA.Mods.Common/Traits/Conditions/ProximityExternalCondition.cs @@ -87,7 +87,7 @@ namespace OpenRA.Mods.Common.Traits desiredVRange = WDist.Zero; } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (self.CenterPosition != cachedPosition || desiredRange != cachedRange || desiredVRange != cachedVRange) { diff --git a/OpenRA.Mods.Common/Traits/Crates/Crate.cs b/OpenRA.Mods.Common/Traits/Crates/Crate.cs index 4291e450bc..ceccaa8bd8 100644 --- a/OpenRA.Mods.Common/Traits/Crates/Crate.cs +++ b/OpenRA.Mods.Common/Traits/Crates/Crate.cs @@ -153,7 +153,7 @@ namespace OpenRA.Mods.Common.Traits } } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (info.Lifetime != 0 && self.IsInWorld && ++ticks >= info.Lifetime * 25) self.Dispose(); diff --git a/OpenRA.Mods.Common/Traits/DamagedByTerrain.cs b/OpenRA.Mods.Common/Traits/DamagedByTerrain.cs index 58c1a87d33..d11dad37fa 100644 --- a/OpenRA.Mods.Common/Traits/DamagedByTerrain.cs +++ b/OpenRA.Mods.Common/Traits/DamagedByTerrain.cs @@ -77,7 +77,7 @@ namespace OpenRA.Mods.Common.Traits self.InflictDamage(self.World.WorldActor, new Damage(delta, Info.DamageTypes)); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (IsTraitDisabled || health.HP <= damageThreshold || --damageTicks > 0) return; diff --git a/OpenRA.Mods.Common/Traits/ExternalCapturable.cs b/OpenRA.Mods.Common/Traits/ExternalCapturable.cs index ab6612c9ee..1ba0cd9369 100644 --- a/OpenRA.Mods.Common/Traits/ExternalCapturable.cs +++ b/OpenRA.Mods.Common/Traits/ExternalCapturable.cs @@ -84,7 +84,7 @@ namespace OpenRA.Mods.Common.Traits Captor = null; } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (Captor != null && (!Captor.IsInWorld || Captor.IsDead)) EndCapture(); diff --git a/OpenRA.Mods.Common/Traits/Health.cs b/OpenRA.Mods.Common/Traits/Health.cs index ea313ad329..44097467f4 100644 --- a/OpenRA.Mods.Common/Traits/Health.cs +++ b/OpenRA.Mods.Common/Traits/Health.cs @@ -167,7 +167,7 @@ namespace OpenRA.Mods.Common.Traits InflictDamage(self, attacker, new Damage(MaxHP), true); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (hp > DisplayHP) DisplayHP = hp; diff --git a/OpenRA.Mods.Common/Traits/Infantry/TakeCover.cs b/OpenRA.Mods.Common/Traits/Infantry/TakeCover.cs index 0c28bad4d9..0ea9e6f60e 100644 --- a/OpenRA.Mods.Common/Traits/Infantry/TakeCover.cs +++ b/OpenRA.Mods.Common/Traits/Infantry/TakeCover.cs @@ -65,7 +65,7 @@ namespace OpenRA.Mods.Common.Traits remainingProneTime = info.ProneTime; } - public override void Tick(Actor self) + protected override void Tick(Actor self) { base.Tick(self); diff --git a/OpenRA.Mods.Common/Traits/Modifiers/FrozenUnderFog.cs b/OpenRA.Mods.Common/Traits/Modifiers/FrozenUnderFog.cs index 51fac36b15..5151186294 100644 --- a/OpenRA.Mods.Common/Traits/Modifiers/FrozenUnderFog.cs +++ b/OpenRA.Mods.Common/Traits/Modifiers/FrozenUnderFog.cs @@ -104,7 +104,7 @@ namespace OpenRA.Mods.Common.Traits return info.AlwaysVisibleStances.HasStance(stance) || IsVisibleInner(self, byPlayer); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (self.Disposed) return; diff --git a/OpenRA.Mods.Common/Traits/PaletteEffects/CloakPaletteEffect.cs b/OpenRA.Mods.Common/Traits/PaletteEffects/CloakPaletteEffect.cs index c6d7d1e90e..a759617240 100644 --- a/OpenRA.Mods.Common/Traits/PaletteEffects/CloakPaletteEffect.cs +++ b/OpenRA.Mods.Common/Traits/PaletteEffects/CloakPaletteEffect.cs @@ -41,7 +41,7 @@ namespace OpenRA.Mods.Common.Traits } } - public void Tick(Actor self) + void ITick.Tick(Actor self) { t += 0.25f; if (t >= 256) t = 0; diff --git a/OpenRA.Mods.Common/Traits/PaletteEffects/FlashPaletteEffect.cs b/OpenRA.Mods.Common/Traits/PaletteEffects/FlashPaletteEffect.cs index 3b2ac5dfda..0f3bfdb6b2 100644 --- a/OpenRA.Mods.Common/Traits/PaletteEffects/FlashPaletteEffect.cs +++ b/OpenRA.Mods.Common/Traits/PaletteEffects/FlashPaletteEffect.cs @@ -53,7 +53,7 @@ namespace OpenRA.Mods.Common.Traits remainingFrames = ticks; } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (remainingFrames > 0) remainingFrames--; diff --git a/OpenRA.Mods.Common/Traits/PaletteEffects/RotationPaletteEffect.cs b/OpenRA.Mods.Common/Traits/PaletteEffects/RotationPaletteEffect.cs index 2a82e16e92..48cd9c5a24 100644 --- a/OpenRA.Mods.Common/Traits/PaletteEffects/RotationPaletteEffect.cs +++ b/OpenRA.Mods.Common/Traits/PaletteEffects/RotationPaletteEffect.cs @@ -73,7 +73,7 @@ namespace OpenRA.Mods.Common.Traits return info.Tilesets.Contains(tilesetId) && !info.ExcludeTilesets.Contains(tilesetId); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (!validTileset) return; diff --git a/OpenRA.Mods.Common/Traits/ParaDrop.cs b/OpenRA.Mods.Common/Traits/ParaDrop.cs index d50d4d8976..54732d3b74 100644 --- a/OpenRA.Mods.Common/Traits/ParaDrop.cs +++ b/OpenRA.Mods.Common/Traits/ParaDrop.cs @@ -58,7 +58,7 @@ namespace OpenRA.Mods.Common.Traits checkForSuitableCell = checkLandingCell; } - public void Tick(Actor self) + void ITick.Tick(Actor self) { var wasInDropRange = inDropRange; inDropRange = target.IsInRange(self.CenterPosition, info.DropRange); diff --git a/OpenRA.Mods.Common/Traits/Player/ClassicProductionQueue.cs b/OpenRA.Mods.Common/Traits/Player/ClassicProductionQueue.cs index f79db5bcd8..d506b4a85a 100644 --- a/OpenRA.Mods.Common/Traits/Player/ClassicProductionQueue.cs +++ b/OpenRA.Mods.Common/Traits/Player/ClassicProductionQueue.cs @@ -47,7 +47,7 @@ namespace OpenRA.Mods.Common.Traits [Sync] bool isActive = false; - public override void Tick(Actor self) + protected override void Tick(Actor self) { // PERF: Avoid LINQ. isActive = false; diff --git a/OpenRA.Mods.Common/Traits/Player/ConquestVictoryConditions.cs b/OpenRA.Mods.Common/Traits/Player/ConquestVictoryConditions.cs index ebfd8df8a5..973f5a0958 100644 --- a/OpenRA.Mods.Common/Traits/Player/ConquestVictoryConditions.cs +++ b/OpenRA.Mods.Common/Traits/Player/ConquestVictoryConditions.cs @@ -41,7 +41,7 @@ namespace OpenRA.Mods.Common.Traits mo = self.Trait(); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (self.Owner.WinState != WinState.Undefined || self.Owner.NonCombatant) return; diff --git a/OpenRA.Mods.Common/Traits/Player/EnemyWatcher.cs b/OpenRA.Mods.Common/Traits/Player/EnemyWatcher.cs index 5ea95fad3d..d9afd6b88d 100644 --- a/OpenRA.Mods.Common/Traits/Player/EnemyWatcher.cs +++ b/OpenRA.Mods.Common/Traits/Player/EnemyWatcher.cs @@ -50,7 +50,7 @@ namespace OpenRA.Mods.Common.Traits } // Here self is the player actor - public void Tick(Actor self) + void ITick.Tick(Actor self) { // TODO: Make the AI handle such notifications and remove Owner.IsBot from this check // Disable notifications for AI and neutral players (creeps) and for spectators diff --git a/OpenRA.Mods.Common/Traits/Player/PlayerStatistics.cs b/OpenRA.Mods.Common/Traits/Player/PlayerStatistics.cs index 230943a6da..bb50f68511 100644 --- a/OpenRA.Mods.Common/Traits/Player/PlayerStatistics.cs +++ b/OpenRA.Mods.Common/Traits/Player/PlayerStatistics.cs @@ -71,7 +71,7 @@ namespace OpenRA.Mods.Common.Traits EarnedSamples.Dequeue(); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (self.World.WorldTick % 1500 == 1) UpdateEarnedThisMinute(); diff --git a/OpenRA.Mods.Common/Traits/Player/ProductionQueue.cs b/OpenRA.Mods.Common/Traits/Player/ProductionQueue.cs index 4c1d54001a..f0c2b08eb6 100644 --- a/OpenRA.Mods.Common/Traits/Player/ProductionQueue.cs +++ b/OpenRA.Mods.Common/Traits/Player/ProductionQueue.cs @@ -229,7 +229,12 @@ namespace OpenRA.Mods.Common.Traits return ps.Buildable || developerMode.AllTech; } - public virtual void Tick(Actor self) + void ITick.Tick(Actor self) + { + Tick(self); + } + + protected virtual void Tick(Actor self) { while (queue.Count > 0 && BuildableItems().All(b => b.Name != queue[0].Item)) { diff --git a/OpenRA.Mods.Common/Traits/Player/ResourceStorageWarning.cs b/OpenRA.Mods.Common/Traits/Player/ResourceStorageWarning.cs index d0f808ba05..c96dc02fce 100644 --- a/OpenRA.Mods.Common/Traits/Player/ResourceStorageWarning.cs +++ b/OpenRA.Mods.Common/Traits/Player/ResourceStorageWarning.cs @@ -41,7 +41,7 @@ namespace OpenRA.Mods.Common.Traits resources = self.Trait(); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (--nextSiloAdviceTime <= 0) { diff --git a/OpenRA.Mods.Common/Traits/Player/StrategicVictoryConditions.cs b/OpenRA.Mods.Common/Traits/Player/StrategicVictoryConditions.cs index c3307df028..7762323a82 100644 --- a/OpenRA.Mods.Common/Traits/Player/StrategicVictoryConditions.cs +++ b/OpenRA.Mods.Common/Traits/Player/StrategicVictoryConditions.cs @@ -71,7 +71,7 @@ namespace OpenRA.Mods.Common.Traits public bool Holding { get { return Owned >= info.RatioRequired * Total / 100; } } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (player.WinState != WinState.Undefined || player.NonCombatant) return; diff --git a/OpenRA.Mods.Common/Traits/Power/Player/PowerManager.cs b/OpenRA.Mods.Common/Traits/Power/Player/PowerManager.cs index 30dfd9eca4..db02bbfc59 100644 --- a/OpenRA.Mods.Common/Traits/Power/Player/PowerManager.cs +++ b/OpenRA.Mods.Common/Traits/Power/Player/PowerManager.cs @@ -90,7 +90,7 @@ namespace OpenRA.Mods.Common.Traits bool wasLowPower = false; bool wasHackEnabled; - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (wasHackEnabled != devMode.UnlimitedPower) { diff --git a/OpenRA.Mods.Common/Traits/ProximityCapturable.cs b/OpenRA.Mods.Common/Traits/ProximityCapturable.cs index e27fa920b3..c18861de6d 100644 --- a/OpenRA.Mods.Common/Traits/ProximityCapturable.cs +++ b/OpenRA.Mods.Common/Traits/ProximityCapturable.cs @@ -79,7 +79,7 @@ namespace OpenRA.Mods.Common.Traits actorsInRange.Clear(); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (!self.IsInWorld || self.CenterPosition == prevPosition) return; diff --git a/OpenRA.Mods.Common/Traits/Render/LeavesTrails.cs b/OpenRA.Mods.Common/Traits/Render/LeavesTrails.cs index 959ddcedf1..b1c0dea983 100644 --- a/OpenRA.Mods.Common/Traits/Render/LeavesTrails.cs +++ b/OpenRA.Mods.Common/Traits/Render/LeavesTrails.cs @@ -91,7 +91,7 @@ namespace OpenRA.Mods.Common.Traits.Render bool wasStationary; bool isMoving; - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (IsTraitDisabled) return; diff --git a/OpenRA.Mods.Common/Traits/Render/ProductionBar.cs b/OpenRA.Mods.Common/Traits/Render/ProductionBar.cs index 589a55b363..4130a3420e 100644 --- a/OpenRA.Mods.Common/Traits/Render/ProductionBar.cs +++ b/OpenRA.Mods.Common/Traits/Render/ProductionBar.cs @@ -65,7 +65,7 @@ namespace OpenRA.Mods.Common.Traits.Render FindQueue(); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { var current = queue.CurrentItem(); value = current != null ? 1 - (float)current.RemainingCost / current.TotalCost : 0; diff --git a/OpenRA.Mods.Common/Traits/Render/RenderSprites.cs b/OpenRA.Mods.Common/Traits/Render/RenderSprites.cs index 07d117083a..b7f599c5d5 100644 --- a/OpenRA.Mods.Common/Traits/Render/RenderSprites.cs +++ b/OpenRA.Mods.Common/Traits/Render/RenderSprites.cs @@ -181,7 +181,12 @@ namespace OpenRA.Mods.Common.Traits.Render } } - public virtual void Tick(Actor self) + void ITick.Tick(Actor self) + { + Tick(self); + } + + protected virtual void Tick(Actor self) { foreach (var a in anims) a.Animation.Animation.Tick(); diff --git a/OpenRA.Mods.Common/Traits/Render/WithMuzzleOverlay.cs b/OpenRA.Mods.Common/Traits/Render/WithMuzzleOverlay.cs index c18819592b..fe27703882 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithMuzzleOverlay.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithMuzzleOverlay.cs @@ -103,7 +103,7 @@ namespace OpenRA.Mods.Common.Traits.Render } } - public void Tick(Actor self) + void ITick.Tick(Actor self) { foreach (var a in anims.Values) a.Animation.Tick(); diff --git a/OpenRA.Mods.Common/Traits/Render/WithParachute.cs b/OpenRA.Mods.Common/Traits/Render/WithParachute.cs index 1e4d789b5c..1cf0884533 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithParachute.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithParachute.cs @@ -148,7 +148,7 @@ namespace OpenRA.Mods.Common.Traits.Render anim.Animation.PlayBackwardsThen(info.OpeningSequence, () => renderProlonged = false); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (shadow != null) shadow.Tick(); diff --git a/OpenRA.Mods.Common/Traits/SeedsResource.cs b/OpenRA.Mods.Common/Traits/SeedsResource.cs index c19a1b7917..c9ea9c8358 100644 --- a/OpenRA.Mods.Common/Traits/SeedsResource.cs +++ b/OpenRA.Mods.Common/Traits/SeedsResource.cs @@ -48,7 +48,7 @@ namespace OpenRA.Mods.Common.Traits int ticks; - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (IsTraitDisabled) return; diff --git a/OpenRA.Mods.Common/Traits/SelfHealing.cs b/OpenRA.Mods.Common/Traits/SelfHealing.cs index 2efb9b6703..3d85ef2473 100644 --- a/OpenRA.Mods.Common/Traits/SelfHealing.cs +++ b/OpenRA.Mods.Common/Traits/SelfHealing.cs @@ -50,7 +50,7 @@ namespace OpenRA.Mods.Common.Traits health = self.Trait(); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (self.IsDead || IsTraitDisabled) return; diff --git a/OpenRA.Mods.Common/Traits/SmokeTrailWhenDamaged.cs b/OpenRA.Mods.Common/Traits/SmokeTrailWhenDamaged.cs index 9fa59565bd..1b491a6aa1 100644 --- a/OpenRA.Mods.Common/Traits/SmokeTrailWhenDamaged.cs +++ b/OpenRA.Mods.Common/Traits/SmokeTrailWhenDamaged.cs @@ -47,7 +47,7 @@ namespace OpenRA.Mods.Common.Traits getFacing = 0; } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (--ticks <= 0) { diff --git a/OpenRA.Mods.Common/Traits/SupportPowers/SupportPowerManager.cs b/OpenRA.Mods.Common/Traits/SupportPowers/SupportPowerManager.cs index 3b7e0dfe2b..d58089eff3 100644 --- a/OpenRA.Mods.Common/Traits/SupportPowers/SupportPowerManager.cs +++ b/OpenRA.Mods.Common/Traits/SupportPowers/SupportPowerManager.cs @@ -96,7 +96,7 @@ namespace OpenRA.Mods.Common.Traits } } - public void Tick(Actor self) + void ITick.Tick(Actor self) { foreach (var power in Powers.Values) power.Tick(); diff --git a/OpenRA.Mods.Common/Traits/ThrowsParticle.cs b/OpenRA.Mods.Common/Traits/ThrowsParticle.cs index ba065cae47..0c9a7fc53c 100644 --- a/OpenRA.Mods.Common/Traits/ThrowsParticle.cs +++ b/OpenRA.Mods.Common/Traits/ThrowsParticle.cs @@ -86,7 +86,7 @@ namespace OpenRA.Mods.Common.Traits rs.Add(new AnimationWithOffset(anim, () => pos, null)); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (tick >= length) return; diff --git a/OpenRA.Mods.Common/Traits/Turreted.cs b/OpenRA.Mods.Common/Traits/Turreted.cs index 77e9fa8a74..9af26f2d8c 100644 --- a/OpenRA.Mods.Common/Traits/Turreted.cs +++ b/OpenRA.Mods.Common/Traits/Turreted.cs @@ -105,7 +105,12 @@ namespace OpenRA.Mods.Common.Traits body = self.Trait(); } - public virtual void Tick(Actor self) + void ITick.Tick(Actor self) + { + Tick(self); + } + + protected virtual void Tick(Actor self) { // NOTE: FaceTarget is called in AttackTurreted.CanAttack if the turret has a target. if (attack != null) diff --git a/OpenRA.Mods.Common/Traits/World/ActorMap.cs b/OpenRA.Mods.Common/Traits/World/ActorMap.cs index d3ffcf87e7..a57d5fa140 100644 --- a/OpenRA.Mods.Common/Traits/World/ActorMap.cs +++ b/OpenRA.Mods.Common/Traits/World/ActorMap.cs @@ -392,7 +392,7 @@ namespace OpenRA.Mods.Common.Traits RemoveInfluenceInner(ref influenceNode.Next, toRemove); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { // Position updates are done in one pass // to ensure consistency during a tick diff --git a/OpenRA.Mods.Common/Traits/World/CrateSpawner.cs b/OpenRA.Mods.Common/Traits/World/CrateSpawner.cs index 1e80e92415..6ee91c1894 100644 --- a/OpenRA.Mods.Common/Traits/World/CrateSpawner.cs +++ b/OpenRA.Mods.Common/Traits/World/CrateSpawner.cs @@ -95,7 +95,7 @@ namespace OpenRA.Mods.Common.Traits .OptionOrDefault("crates", info.Enabled); } - public void Tick(Actor self) + void ITick.Tick(Actor self) { if (!enabled) return; diff --git a/OpenRA.Mods.Common/Traits/World/RadarPings.cs b/OpenRA.Mods.Common/Traits/World/RadarPings.cs index 87cc8866a1..f98901477f 100644 --- a/OpenRA.Mods.Common/Traits/World/RadarPings.cs +++ b/OpenRA.Mods.Common/Traits/World/RadarPings.cs @@ -38,7 +38,7 @@ namespace OpenRA.Mods.Common.Traits this.info = info; } - public void Tick(Actor self) + void ITick.Tick(Actor self) { foreach (var ping in Pings.ToArray()) if (!ping.Tick())