private void VariableValueField(VariableValue varValue) { switch (varValue.Type) { case VariableType.Boolean: { bool bVal = varValue.Get<bool>(); if (GUILayout.Button(bVal.ToString())) { varValue.Set(!bVal); } break; } case VariableType.Integer: { int iVal = varValue.Get<int>(); string stringVal = GUILayout.TextField(iVal.ToString()); int cVal; if (Int32.TryParse(stringVal, out cVal) && cVal != iVal) { varValue.Set(cVal); } break; } } }