diff --git a/Assets/Fungus/Narrative/Scripts/IMenuDialog.cs b/Assets/Fungus/Narrative/Scripts/IMenuDialog.cs
index 383a298b..a909cd5f 100644
--- a/Assets/Fungus/Narrative/Scripts/IMenuDialog.cs
+++ b/Assets/Fungus/Narrative/Scripts/IMenuDialog.cs
@@ -1,4 +1,5 @@
using UnityEngine;
+using UnityEngine.UI;
namespace Fungus
{
@@ -7,11 +8,33 @@ namespace Fungus
///
public interface IMenuDialog
{
+ ///
+ /// A cached list of button objects in the menu dialog.
+ ///
+ /// The cached buttons.
+ Button[] CachedButtons { get; }
+
+ ///
+ /// A cached slider object used for the timer in the menu dialog.
+ ///
+ /// The cached slider.
+ Slider CachedSlider { get; }
+
///
/// Sets the active state of the Menu Dialog gameobject.
///
void SetActive(bool state);
+ ///
+ /// Clear all displayed options in the Menu Dialog.
+ ///
+ void Clear();
+
+ ///
+ /// Hides any currently displayed Say Dialog.
+ ///
+ void HideSayDialog();
+
///
/// Adds the option to the list of displayed options.
/// Will cause the Menu dialog to become visible if it is not already visible.
diff --git a/Assets/Fungus/Narrative/Scripts/MenuDialog.cs b/Assets/Fungus/Narrative/Scripts/MenuDialog.cs
index 0af34784..53e07209 100644
--- a/Assets/Fungus/Narrative/Scripts/MenuDialog.cs
+++ b/Assets/Fungus/Narrative/Scripts/MenuDialog.cs
@@ -18,10 +18,8 @@ namespace Fungus
[SerializeField] protected bool autoSelectFirstButton = false;
protected Button[] cachedButtons;
- public virtual Button[] CachedButtons { get { return cachedButtons; } }
protected Slider cachedSlider;
- public virtual Slider CachedSlider { get { return cachedSlider; } }
public static IMenuDialog GetMenuDialog()
{
@@ -51,7 +49,7 @@ namespace Fungus
return activeMenuDialog;
}
- public virtual void Awake()
+ protected virtual void Awake()
{
Button[] optionButtons = GetComponentsInChildren