From e77ca7fdc95902b60d2544f76293fcbf4c07d70a Mon Sep 17 00:00:00 2001
From: Adrian Paschkowski <git@wasdennnoch.me>
Date: Sat, 17 Apr 2021 20:59:43 +0200
Subject: [PATCH] Fix health bar scale if parent scale is different

---
 Assets/Scripts/UI/HealthBarController.cs | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Assets/Scripts/UI/HealthBarController.cs b/Assets/Scripts/UI/HealthBarController.cs
index b0709de..e62699e 100644
--- a/Assets/Scripts/UI/HealthBarController.cs
+++ b/Assets/Scripts/UI/HealthBarController.cs
@@ -7,11 +7,13 @@ public class HealthBarController : MonoBehaviour
 
     [SerializeField] Color barColor = new Color(245, 17, 17);
     Transform bar;
+    Vector3 initialScale;
 
     void Awake()
     {
         bar = transform.Find("Bar");
         bar.Find("Health").GetComponent<SpriteRenderer>().color = barColor;
+        initialScale = transform.localScale;
     }
 
     private void Update()
@@ -20,7 +22,7 @@ public class HealthBarController : MonoBehaviour
         // If transform.parent.localScale.x is -1, the health bar scale will be set to -1
         // as well, effectively cancelling the flip.
         var scale = transform.localScale;
-        scale.x = transform.parent.localScale.x;
+        scale.x = transform.parent.localScale.x < 0 ? -initialScale.x : initialScale.x;
         transform.localScale = scale;
     }
 
-- 
GitLab