Projext/Assets/7.Other Code/Card_Scripts/RandomStatCardInstance.cs
2026-01-30 18:27:44 +09:00

71 lines
1.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RandomStatCardInstance
{
private RandomStatCardData data;
private StatType statType;
private int value;
private bool isConfirmed = false;
private Stats stats; // ⭐ 대상 Stats
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;
}
// UI 표시용
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:
stats.AddMaxHealth(value);
break;
case StatType.Speed:
stats.AddMoveSpeed(value);
break;
case StatType.Strength:
stats.AddStrength(value);
break;
case StatType.Damage:
stats.AddAttackDamage(value);
break;
}
}
}