private void UpdateProfiles( EyeXEngineStateValue <string[]> profiles, EyeXEngineStateValue <string> currentProfile) { if (profiles.IsValid && currentProfile.IsValid) { // Draw the title. GuiHelpers.DrawText("Click a profile button to activate it.", new Vector2(10, 60), 18, GuiHelpers.Black); for (int index = 0; index < profiles.Value.Length; index++) { // Get the profile name. var profileName = profiles.Value[index]; // Should we disable the GUI? var isCurrentProfile = profileName == currentProfile.Value; if (isCurrentProfile) { GUI.enabled = false; } // Draw the button. var buttonX = buttonMargin; var buttonY = 100 + (index * (buttonHeight + buttonMargin)); var buttonRect = new Rect(buttonX, buttonY, buttonWidth, buttonHeight); if (GUI.Button(buttonRect, profileName)) { // Set the current user profile. _host.SetCurrentProfile(profileName); } // Re-enable the GUI. GUI.enabled = true; } } else { // No valid profile name. GuiHelpers.DrawText("Error: Could not retrieve profile names.", new Vector2(10, 60), 18, GuiHelpers.Red); } }