// This code is part of the Fungus library (https://github.com/snozbot/fungus)
// It is released for free under the MIT open source license (https://github.com/snozbot/fungus/blob/master/LICENSE)
using UnityEngine;
using UnityEngine.UI;
namespace Fungus
{
///
/// Displays Narrative Log Entries in the UI.
///
public class NarrativeLogEntryDisplay : MonoBehaviour
{
[SerializeField] protected Text nameTextField;
[SerializeField] protected Text storyTextField;
private NarrativeLogEntry toDisplay;
///
/// The entry that this represents in the UI. The setter here alters this display's UI fields
/// to fit the new value.
///
public virtual NarrativeLogEntry ToDisplay
{
get { return toDisplay; }
set
{
toDisplay = value;
UpdateDisplays();
}
}
///
/// Ensures that the UI components of this display fit the NarrativeLog Entry
/// it has... if any.
///
protected virtual void UpdateDisplays()
{
if (ToDisplay == null)
{
nameTextField.text = "";
storyTextField.text = "";
}
else
{
nameTextField.text = toDisplay.name;
storyTextField.text = toDisplay.text;
}
}
}
}