using UnityEngine; using UnityEngine.UI; using TMPro; public class ResistanceUI : MonoBehaviour { [Header("UI References")] public TextMeshProUGUI resistanceText; public Slider physicalResistanceSlider; public Slider magicalResistanceSlider; public TextMeshProUGUI shieldStatusText; public Image shieldStatusIcon; [Header("Target Enemy")] public enemyScript targetEnemy; void Start() { // Initialize sliders if (physicalResistanceSlider != null) { physicalResistanceSlider.minValue = 0; physicalResistanceSlider.maxValue = 100; } if (magicalResistanceSlider != null) { magicalResistanceSlider.minValue = 0; magicalResistanceSlider.maxValue = 100; } } void Update() { if (targetEnemy != null) { UpdateResistanceDisplay(); } } void UpdateResistanceDisplay() { // Update text if (resistanceText != null) { resistanceText.text = $"Resistance: {targetEnemy.GetResistanceInfo()}"; } // Update sliders if (physicalResistanceSlider != null) { physicalResistanceSlider.value = targetEnemy.physicalResistance; } if (magicalResistanceSlider != null) { magicalResistanceSlider.value = targetEnemy.magicalResistance; } // Update shield status if (shieldStatusText != null) { string shieldStatus = targetEnemy.IsShieldActive() ? "Shield Active" : "Shield Broken"; shieldStatusText.text = shieldStatus; } if (shieldStatusIcon != null) { Color shieldColor = targetEnemy.IsShieldActive() ? Color.cyan : Color.gray; shieldStatusIcon.color = shieldColor; } } public void SetTargetEnemy(enemyScript enemy) { targetEnemy = enemy; } public void ClearTarget() { targetEnemy = null; if (resistanceText != null) resistanceText.text = "No Target"; if (physicalResistanceSlider != null) physicalResistanceSlider.value = 0; if (magicalResistanceSlider != null) magicalResistanceSlider.value = 0; if (shieldStatusText != null) shieldStatusText.text = "No Target"; if (shieldStatusIcon != null) shieldStatusIcon.color = Color.gray; } }