From 5055764e046be6a2343483b61bb1bd94c3756b77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deniz=20Ay=C4=B1kol?= Date: Wed, 4 Jun 2014 00:47:10 +0300 Subject: [PATCH] Make repair animation pause if player has no money. use anim.Paused removed the using line --- OpenRA.Mods.RA/Buildings/RepairableBuilding.cs | 4 +++- OpenRA.Mods.RA/Effects/RepairIndicator.cs | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenRA.Mods.RA/Buildings/RepairableBuilding.cs b/OpenRA.Mods.RA/Buildings/RepairableBuilding.cs index 3e7fb264eb..d5394b9bad 100755 --- a/OpenRA.Mods.RA/Buildings/RepairableBuilding.cs +++ b/OpenRA.Mods.RA/Buildings/RepairableBuilding.cs @@ -32,6 +32,7 @@ namespace OpenRA.Mods.RA.Buildings Health Health; RepairableBuildingInfo Info; + public bool RepairActive = true; public RepairableBuilding(Actor self, RepairableBuildingInfo info) { @@ -81,7 +82,8 @@ namespace OpenRA.Mods.RA.Buildings var hpToRepair = Math.Min(Info.RepairStep, Health.MaxHP - Health.HP); var cost = Math.Max(1, (hpToRepair * Info.RepairPercent * buildingValue) / (Health.MaxHP * 100)); - if (!Repairer.PlayerActor.Trait().TakeCash(cost)) + RepairActive = Repairer.PlayerActor.Trait().TakeCash(cost); + if (!RepairActive) { remainingTicks = 1; return; diff --git a/OpenRA.Mods.RA/Effects/RepairIndicator.cs b/OpenRA.Mods.RA/Effects/RepairIndicator.cs index a37e99e567..ea114e1b12 100755 --- a/OpenRA.Mods.RA/Effects/RepairIndicator.cs +++ b/OpenRA.Mods.RA/Effects/RepairIndicator.cs @@ -32,6 +32,7 @@ namespace OpenRA.Mods.RA.Effects rb = building.TraitOrDefault(); anim = new Animation(building.World, "allyrepair"); + anim.Paused = () => !rb.RepairActive; anim.PlayRepeating("repair"); }