You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
3.2 KiB
81 lines
3.2 KiB
// This code is part of the Fungus library (http://fungusgames.com) maintained by Chris Gregan (http://twitter.com/gofungus). |
|
// It is released for free under the MIT open source license (https://github.com/snozbot/fungus/blob/master/LICENSE) |
|
|
|
using UnityEngine.UI; |
|
using MoonSharp.Interpreter; |
|
using System.Collections; |
|
|
|
namespace Fungus |
|
{ |
|
/// <summary> |
|
/// Presents multiple choice buttons to the players. |
|
/// </summary> |
|
public interface IMenuDialog |
|
{ |
|
/// <summary> |
|
/// A cached list of button objects in the menu dialog. |
|
/// </summary> |
|
/// <value>The cached buttons.</value> |
|
Button[] CachedButtons { get; } |
|
|
|
/// <summary> |
|
/// A cached slider object used for the timer in the menu dialog. |
|
/// </summary> |
|
/// <value>The cached slider.</value> |
|
Slider CachedSlider { get; } |
|
|
|
/// <summary> |
|
/// Sets the active state of the Menu Dialog gameobject. |
|
/// </summary> |
|
void SetActive(bool state); |
|
|
|
/// <summary> |
|
/// Clear all displayed options in the Menu Dialog. |
|
/// </summary> |
|
void Clear(); |
|
|
|
/// <summary> |
|
/// Hides any currently displayed Say Dialog. |
|
/// </summary> |
|
void HideSayDialog(); |
|
|
|
/// <summary> |
|
/// Adds the option to the list of displayed options. Calls a Block when selected. |
|
/// Will cause the Menu dialog to become visible if it is not already visible. |
|
/// </summary> |
|
/// <returns><c>true</c>, if the option was added successfully.</returns> |
|
/// <param name="text">The option text to display on the button.</param> |
|
/// <param name="interactable">If false, the option is displayed but is not selectable.</param> |
|
/// <param name="targetBlock">Block to execute when the option is selected.</param> |
|
bool AddOption(string text, bool interactable, Block targetBlock); |
|
|
|
/// <summary> |
|
/// Adds the option to the list of displayed options, calls a Lua function when selected. |
|
/// Will cause the Menu dialog to become visible if it is not already visible. |
|
/// </summary> |
|
/// <returns><c>true</c>, if the option was added successfully.</returns> |
|
bool AddOption(string text, bool interactable, ILuaEnvironment luaEnv, Closure callBack); |
|
|
|
/// <summary> |
|
/// Show a timer during which the player can select an option. Calls a Block when the timer expires. |
|
/// </summary> |
|
/// <param name="duration">The duration during which the player can select an option.</param> |
|
/// <param name="targetBlock">Block to execute if the player does not select an option in time.</param> |
|
void ShowTimer(float duration, Block targetBlock); |
|
|
|
/// <summary> |
|
/// Show a timer during which the player can select an option. Calls a Lua function when the timer expires. |
|
/// </summary> |
|
IEnumerator ShowTimer(float duration, ILuaEnvironment luaEnv, Closure callBack); |
|
|
|
/// <summary> |
|
/// Returns true if the Menu Dialog is currently displayed. |
|
/// </summary> |
|
bool IsActive(); |
|
|
|
/// <summary> |
|
/// Returns the number of currently displayed options. |
|
/// </summary> |
|
int DisplayedOptionsCount { get; } |
|
} |
|
} |