using UnityEngine; [System.Serializable] public abstract class UseableEntry : ScriptableObject { [Header("기본 정보")] public string EntryName; [TextArea] public string EntryDesc; public Sprite Icon; public abstract IUseableRuntime CreateRuntime(); } public interface IUseableRuntime { public void Execute(UseContext ctx); } public struct UseContext { public GameObject Caster; public GameObject Target; public InputState UseInputState; }