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.
60 lines
1.1 KiB
60 lines
1.1 KiB
using UnityEngine; |
|
using System; |
|
using System.Collections; |
|
using System.Collections.Generic; |
|
|
|
namespace Fungus.Script |
|
{ |
|
[CommandName("Add Option")] |
|
[CommandCategory("Dialog")] |
|
[HelpText("Adds an option for the player to select, displayed by the next Say command.")] |
|
public class AddOption : FungusCommand |
|
{ |
|
public string optionText; |
|
public Sequence targetSequence; |
|
|
|
public bool hideOnSelected; |
|
|
|
public override void OnEnter() |
|
{ |
|
if (hideOnSelected && |
|
targetSequence.GetExecutionCount() > 0) |
|
{ |
|
Continue(); |
|
return; |
|
} |
|
|
|
Choose.Option option = new Choose.Option(); |
|
option.optionText = optionText; |
|
option.targetSequence = targetSequence; |
|
Choose.options.Add(option); |
|
|
|
Continue(); |
|
} |
|
|
|
public override string GetSummary() |
|
{ |
|
string summaryText = optionText; |
|
|
|
if (targetSequence == null) |
|
{ |
|
summaryText += " ( <Continue> )"; |
|
} |
|
else |
|
{ |
|
summaryText += " (" + targetSequence.name + ")"; |
|
} |
|
|
|
return summaryText; |
|
} |
|
|
|
public override void GetConnectedSequences(ref List<Sequence> connectedSequences) |
|
{ |
|
if (targetSequence != null) |
|
{ |
|
connectedSequences.Add (targetSequence); |
|
} |
|
} |
|
} |
|
|
|
} |