Projext/Assets/Scripts/Card_Scripts/RandomStatCardInstance.cs

58 lines
1.3 KiB
C#
Raw Normal View History

using UnityEngine;
2026-01-29 06:58:38 +00:00
public class RandomStatCardInstance
{
private RandomStatCardData data;
private StatType statType;
private int value;
private bool isConfirmed = false;
private Stats stats;
2026-01-29 06:58:38 +00:00
public RandomStatCardInstance(RandomStatCardData data, Stats stats)
{
this.data = data;
this.stats = stats;
}
public void RollPreview()
{
statType = data.possibleStats[Random.Range(0, data.possibleStats.Length)];
value = Random.Range(data.minValue, data.maxValue + 1);
isConfirmed = false;
}
public string GetText()
{
string sign = value >= 0 ? "+" : "";
return $"{statType} {sign}{value}";
}
public void Confirm()
{
if (isConfirmed) return;
ApplyStat();
isConfirmed = true;
}
private void ApplyStat()
{
if (stats == null) return;
switch (statType)
{
case StatType.Health:
2026-01-29 06:58:38 +00:00
stats.AddMaxHealth(value);
break;
case StatType.Speed:
2026-01-29 06:58:38 +00:00
stats.AddMoveSpeed(value);
break;
// ✨ [제거] case StatType.Strength 삭제됨
2026-01-29 06:58:38 +00:00
case StatType.Damage:
2026-01-29 06:58:38 +00:00
stats.AddAttackDamage(value);
break;
}
}
}