using UnityEngine;
namespace Jovian.EncounterSystem {
///
/// Authored reward asset. Designers create one file per reusable reward ("10 Gold", "Rusty Sword",
/// "Town Unlock: Riverfort") and reference it from on dialog options.
/// The payload chooses the reward type; the enclosing asset carries identity
/// and presentation data shared across all types.
///
[CreateAssetMenu(fileName = "Reward", menuName = "Jovian/Encounter System/Reward", order = 3)]
public class Reward : ScriptableObject {
/// Designer-facing short slug (e.g. "gold_10").
public string id;
/// Display name shown to the player when the reward is granted.
public string displayName;
/// Type-specific payload (currency, item, experience, ...). Authored via the SubclassSelector drawer.
[SerializeReference, SubclassSelector]
public IRewardKind kind;
}
}