Newer
Older
TheVengeance-Project-IADE-Unity2D / Assets / Ink / InkLibs / InkRuntime / VariableReference.cs
  1. namespace Ink.Runtime
  2. {
  3. public class VariableReference : Runtime.Object
  4. {
  5. // Normal named variable
  6. public string name { get; set; }
  7. // Variable reference is actually a path for a visit (read) count
  8. public Path pathForCount { get; set; }
  9. public Container containerForCount {
  10. get {
  11. return this.ResolvePath (pathForCount).container;
  12. }
  13. }
  14. public string pathStringForCount {
  15. get {
  16. if( pathForCount == null )
  17. return null;
  18. return CompactPathString(pathForCount);
  19. }
  20. set {
  21. if (value == null)
  22. pathForCount = null;
  23. else
  24. pathForCount = new Path (value);
  25. }
  26. }
  27. public VariableReference (string name)
  28. {
  29. this.name = name;
  30. }
  31. // Require default constructor for serialisation
  32. public VariableReference() {}
  33. public override string ToString ()
  34. {
  35. if (name != null) {
  36. return string.Format ("var({0})", name);
  37. } else {
  38. var pathStr = pathStringForCount;
  39. return string.Format("read_count({0})", pathStr);
  40. }
  41. }
  42. }
  43. }