2026-02-12 15:23:25 +00:00
|
|
|
|
using UnityEngine; // 유니티 엔진의 기본 기능을 불러올거에요 -> UnityEngine을
|
2026-01-29 06:58:38 +00:00
|
|
|
|
|
2026-02-12 15:23:25 +00:00
|
|
|
|
[CreateAssetMenu(menuName = "LevelUp/RandomStatCard")] // 메뉴를 만들거에요 -> 에셋 생성 메뉴에 "LevelUp/RandomStatCard"를
|
|
|
|
|
|
public class RandomStatCardData : CardData // 클래스를 선언할거에요 -> CardData를 상속받는 RandomStatCardData를
|
2026-01-29 06:58:38 +00:00
|
|
|
|
{
|
2026-02-12 15:23:25 +00:00
|
|
|
|
public StatType[] possibleStats; // 배열을 선언할거에요 -> 등장 가능한 스탯 목록을 possibleStats에
|
|
|
|
|
|
public int minValue = 1; // 변수를 선언할거에요 -> 스탯 증가 최소값을 minValue에
|
|
|
|
|
|
public int maxValue = 3; // 변수를 선언할거에요 -> 스탯 증가 최대값을 maxValue에
|
2026-01-29 06:58:38 +00:00
|
|
|
|
|
|
|
|
|
|
// ⭐ 기존의 stat1, value1 같은 변수들은 다 지워버리세요!
|
|
|
|
|
|
// 이제 CardUI가 기억할 거니까 여기엔 필요 없습니다.
|
|
|
|
|
|
|
2026-02-12 15:23:25 +00:00
|
|
|
|
public override string GetText() => ""; // 함수를 덮어씌울거에요 -> 텍스트 반환 함수를 (CardUI가 처리하므로 빈 문자열 반환)
|
2026-01-29 06:58:38 +00:00
|
|
|
|
|
2026-02-12 15:23:25 +00:00
|
|
|
|
protected override void ApplyEffect() { } // 함수를 덮어씌울거에요 -> 기본 효과 적용 함수를 (여기선 안 씀)
|
2026-01-29 06:58:38 +00:00
|
|
|
|
|
|
|
|
|
|
// ⭐ CardUI가 호출할 수 있게 public으로 만듭니다.
|
2026-02-12 15:23:25 +00:00
|
|
|
|
public void ApplyToPlayer(StatType stat, int value) // 함수를 선언할거에요 -> 플레이어에게 스탯을 적용하는 ApplyToPlayer를
|
2026-01-29 06:58:38 +00:00
|
|
|
|
{
|
2026-02-12 15:23:25 +00:00
|
|
|
|
Stats stats = FindObjectOfType<Stats>(); // 컴포넌트를 찾을거에요 -> 씬에 있는 Stats 스크립트를
|
|
|
|
|
|
if (stats == null) return; // 조건이 맞으면 중단할거에요 -> Stats가 없다면
|
2026-01-29 06:58:38 +00:00
|
|
|
|
|
2026-02-12 15:23:25 +00:00
|
|
|
|
switch (stat) // 분기할거에요 -> 스탯 타입(stat)에 따라
|
2026-01-29 06:58:38 +00:00
|
|
|
|
{
|
2026-02-12 15:23:25 +00:00
|
|
|
|
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; // 일치하면 실행할거에요 -> 공격력 증가 함수를
|
2026-01-29 06:58:38 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|