From 65c95eb2ee1ddddf6c42e73222277f3a7e98f7a4 Mon Sep 17 00:00:00 2001 From: reaperrr Date: Sat, 18 Jul 2015 17:06:39 +0200 Subject: [PATCH] Adapted WithHarvestAnimation to account for damage stages --- .../Traits/Render/WithHarvestAnimation.cs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/OpenRA.Mods.Common/Traits/Render/WithHarvestAnimation.cs b/OpenRA.Mods.Common/Traits/Render/WithHarvestAnimation.cs index fdc0bc196d..91254be94a 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithHarvestAnimation.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithHarvestAnimation.cs @@ -52,19 +52,20 @@ namespace OpenRA.Mods.Common.Traits public void Tick(Actor self) { - if (!IsModifying && !string.IsNullOrEmpty(wsb.Info.Sequence) && wsb.DefaultAnimation.HasSequence(NormalizeHarvesterSequence(self, wsb.Info.Sequence))) - { - if (wsb.DefaultAnimation.CurrentSequence.Name != NormalizeHarvesterSequence(self, wsb.Info.Sequence)) - wsb.DefaultAnimation.ReplaceAnim(NormalizeHarvesterSequence(self, wsb.Info.Sequence)); - } + var baseSequence = wsb.NormalizeSequence(self, wsb.Info.Sequence); + var sequence = NormalizeHarvesterSequence(self, baseSequence); + if (!IsModifying && wsb.DefaultAnimation.HasSequence(sequence) && wsb.DefaultAnimation.CurrentSequence.Name != sequence) + wsb.DefaultAnimation.ReplaceAnim(sequence); } public void Harvested(Actor self, ResourceType resource) { - if (!IsModifying && !string.IsNullOrEmpty(Info.HarvestSequence) && wsb.DefaultAnimation.HasSequence(NormalizeHarvesterSequence(self, Info.HarvestSequence))) + var baseSequence = wsb.NormalizeSequence(self, Info.HarvestSequence); + var sequence = NormalizeHarvesterSequence(self, baseSequence); + if (!IsModifying && wsb.DefaultAnimation.HasSequence(sequence)) { IsModifying = true; - wsb.PlayCustomAnimation(self, NormalizeHarvesterSequence(self, Info.HarvestSequence), () => IsModifying = false); + wsb.PlayCustomAnimation(self, sequence, () => IsModifying = false); } }