Files
Mementos/Unity/Alternate Genre Jam/Assets/Ink/InkLibs/InkRuntime/VariableReference.cs
2021-06-30 21:39:19 +10:00

52 lines
1.3 KiB
C#

namespace Ink.Runtime
{
public class VariableReference : Runtime.Object
{
// Normal named variable
public string name { get; set; }
// Variable reference is actually a path for a visit (read) count
public Path pathForCount { get; set; }
public Container containerForCount {
get {
return this.ResolvePath (pathForCount).container;
}
}
public string pathStringForCount {
get {
if( pathForCount == null )
return null;
return CompactPathString(pathForCount);
}
set {
if (value == null)
pathForCount = null;
else
pathForCount = new Path (value);
}
}
public VariableReference (string name)
{
this.name = name;
}
// Require default constructor for serialisation
public VariableReference() {}
public override string ToString ()
{
if (name != null) {
return string.Format ("var({0})", name);
} else {
var pathStr = pathStringForCount;
return string.Format("read_count({0})", pathStr);
}
}
}
}