using System;
using UnityEngine;

namespace Jovian.EncounterSystem {
    /// <summary>Looks up <see cref="id"/> in the library passed to <see cref="Resolve"/>; falls back to <see cref="inlineText"/>.</summary>
    [Serializable]
    public struct DialogLineRef {
        public string id;
        [TextArea(2, 6)] public string inlineText;

        public string Resolve(DialogLineLibrary library) {
            if(!library || string.IsNullOrEmpty(id)) {
                return inlineText;
            }
            var text = library.Resolve(id);
            return !string.IsNullOrEmpty(text) ? text : inlineText;
        }
    }
}
