mirror of
https://github.com/Ratstail91/Mementos.git
synced 2025-11-29 02:24:28 +11:00
52 lines
1.3 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|