protected override bool TestRunInt(Slate slate) { string value = prefix.GetValue(slate); List <Slate.VarRestoreInfo> varsRestoreInfo = QuestGenUtility.SetVarsForPrefix(parms, value, slate); if (!value.NullOrEmpty()) { slate.PushPrefix(value, allowNonPrefixedLookup.GetValue(slate)); } try { return(def.GetValue(slate).root.TestRun(slate)); } finally { if (!value.NullOrEmpty()) { slate.PopPrefix(); } QuestGenUtility.GetReturnedVars(returnVarNames, value, slate); QuestGenUtility.RestoreVarsForPrefix(varsRestoreInfo, slate); } }