An easy to use Unity 3D library for creating illustrated Interactive Fiction games and more.
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.

48 lines
902 B

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
namespace Fungus
{
public class AddOptionCommand : FungusCommand
{
public enum Condition
{
AlwaysShow,
HideOnVisited,
ShowOnBoolean,
HideOnBoolean
}
public string text;
public Sequence sequence;
public Condition condition;
public string booleanVariableKey;
public override void OnEnter()
{
Dialog dialog = Game.GetInstance().dialog;
if (dialog != null &&
sequence != null &&
!(condition == Condition.HideOnVisited && sequence.GetExecutionCount() > 0))
{
dialog.AddOption(text, () => {
Stop();
parentFungusScript.ExecuteSequence(sequence);
});
}
Continue();
}
public override void GetConnectedSequences(ref List<Sequence> connectedSequences)
{
if (sequence != null)
{
connectedSequences.Add(sequence);
}
}
}
}