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;
}