98 lines
2.6 KiB
C#
98 lines
2.6 KiB
C#
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;
|
|
}
|
|
} |