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.

64 lines
1.8 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;
using Fungus;
using Fungus.Variables;
namespace Fungus.Commands
{
/// <summary>
/// Reads in a text file and stores the contents in a string variable.
/// </summary>
[CommandInfo("Variable",
"Read Text File",
"Reads in a text file and stores the contents in a string variable")]
public class ReadTextFile : Command
{
[Tooltip("Text file to read into the string variable")]
[SerializeField] protected TextAsset textFile;
[Tooltip("String variable to store the tex file contents in")]
[VariableProperty(typeof(StringVariable))]
[SerializeField] protected StringVariable stringVariable;
public override void OnEnter()
{
if (textFile == null ||
stringVariable == null)
{
Continue();
return;
}
stringVariable.Value = textFile.text;
Continue();
}
public override string GetSummary()
{
if (stringVariable == null)
{
return "Error: Variable not selected";
}
if (textFile == null)
{
return "Error: Text file not selected";
}
return stringVariable.Key;
}
public override bool HasReference(Variable variable)
{
return (variable == stringVariable);
}
public override Color GetButtonColor()
{
return new Color32(253, 253, 150, 255);
}
}
}