2026-01-29 06:58:38 +00:00
|
|
|
|
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)
|
|
|
|
|
|
{
|
2026-01-30 02:46:55 +00:00
|
|
|
|
case StatType.Health:
|
2026-01-29 06:58:38 +00:00
|
|
|
|
stats.AddMaxHealth(value);
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
2026-01-30 02:46:55 +00:00
|
|
|
|
case StatType.Speed:
|
2026-01-29 06:58:38 +00:00
|
|
|
|
stats.AddMoveSpeed(value);
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
case StatType.Strength:
|
|
|
|
|
|
stats.AddStrength(value);
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
2026-01-30 02:46:55 +00:00
|
|
|
|
case StatType.Damage:
|
2026-01-29 06:58:38 +00:00
|
|
|
|
stats.AddAttackDamage(value);
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|