public bool SetVar(string name, object value, bool originator = true) { if (originator) { name = name.ToLower(); } if (!Vars.TryGetValue(name, out InputVar var)) { // if we don't find a var in our own scope, check further up the scope tree if (ParentScope != null && ParentScope.SetVar(name, value, false)) { return(true); } if (originator) // if it isn't found anywhere, define it { DefineVar(name, value); } return(false); } var.Value = value; return(true); }