20 lines
634 B
C#
20 lines
634 B
C#
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;
|
|
}
|
|
}
|
|
}
|