27 lines
1.7 KiB
C#
27 lines
1.7 KiB
C#
using System.Collections; // 컬렉션 기능을 사용할거에요 -> System.Collections를
|
|
using System.Collections.Generic; // 제네릭 컬렉션 기능을 사용할거에요 -> System.Collections.Generic을
|
|
using TMPro; // 텍스트메쉬프로 기능을 사용할거에요 -> TMPro를
|
|
using Unity.VisualScripting; // 유니티 비주얼 스크립팅 기능을 사용할거에요 -> Unity.VisualScripting을
|
|
using UnityEngine; // 유니티 엔진의 기본 기능을 불러올거에요 -> UnityEngine을
|
|
|
|
[CreateAssetMenu(menuName = "LevelUp/Card")] // 메뉴를 만들거에요 -> 에셋 생성 메뉴에 "LevelUp/Card"를
|
|
public abstract class CardData : ScriptableObject // 추상 클래스를 선언할거에요 -> ScriptableObject를 상속받는 CardData를
|
|
{
|
|
public Sprite icon; // 변수를 선언할거에요 -> 카드 아이콘 이미지를 icon에
|
|
|
|
// ⭐ 추가: 이 카드가 나타나기 위해 필요한 '복수의 집착' 레벨
|
|
// 기본값을 1로 설정하면 처음부터 등장합니다.
|
|
public int requiredObsessionLevel = 1; // 변수를 선언할거에요 -> 등장 조건 레벨(1)을 requiredObsessionLevel에
|
|
|
|
// UI 표시용
|
|
public abstract string GetText(); // 추상 함수를 선언할거에요 -> 카드 설명 텍스트를 반환하는 GetText를
|
|
|
|
// 외부에서 호출되는 공통 실행 함수
|
|
public void Execute() // 함수를 선언할거에요 -> 카드 효과를 실행하는 공통 함수 Execute를
|
|
{
|
|
ApplyEffect(); // 함수를 실행할거에요 -> 실제 효과 적용 함수를
|
|
}
|
|
|
|
// 실제 효과는 자식이 구현
|
|
protected abstract void ApplyEffect(); // 추상 함수를 선언할거에요 -> 자식 클래스에서 구현할 효과 적용 함수 ApplyEffect를
|
|
} |