41 if (!this.
tag.IsConstant)
42 throw new Exception(
"Singleton Machine IDs must be constant tag references.");
45 throw new Exception(
"Tag not found: " + this.
tag.Definition);
47 if (!(Value is
string MachineId))
48 throw new Exception(
"Singleton Machine IDs must be strings.");
50 int i = MachineId.IndexOf(
'@');
57 else if (MachineId.Substring(i) !=
Token.
TokenId.Substring(j))
58 throw new Exception(
"Invalid Singleton Machine ID domain.");
61 Machine.StateMachineId = MachineId;
CaseInsensitiveString TokenId
Token ID
bool TryGetTagValue(CaseInsensitiveString TagName, out object Value)
Tries to get a TAG value from the token.
Singleton State-Machine ID
override IStateMachineNode Create()
Creates a new node of the corresponding type.
override string LocalName
Local name
SingletonMachineId()
Singleton State-Machine ID
override void CheckReferences(StateMachine Machine, Token Token)
Checks references in the node.
ScriptableStringAttribute tag
Tag attribute.
Abstract base class for nodes with a value.
Class representing a state machine.
Interface for State-Machine nodes