Skip to content

Instantly share code, notes, and snippets.

@StanleyGoldman
Created March 31, 2017 18:28
Show Gist options
  • Save StanleyGoldman/29970fc3fcf3136be9b68ffc8f7a9f0d to your computer and use it in GitHub Desktop.
Save StanleyGoldman/29970fc3fcf3136be9b68ffc8f7a9f0d to your computer and use it in GitHub Desktop.
Strange Unity bugfix
using UnityEngine;
using UnityEditor;
public class MyWindow : EditorWindow
{
string display1Field1 = "display1Field1";
string display1Field2 = "display1Field2";
string display2Field1 = "display2Field1";
string display2Field2 = "display2Field2";
bool display1Visible = true;
// Add menu named "My Window" to the Window menu
[MenuItem("Window/My Window")]
static void Init()
{
// Get existing open window or if none, make a new one:
MyWindow window = (MyWindow)EditorWindow.GetWindow(typeof(MyWindow));
window.Show();
}
void OnGUI()
{
GUILayout.Label("Example", EditorStyles.boldLabel);
if (display1Visible)
{
GUILayout.Label("Display 1");
display1Field1 = EditorGUILayout.TextField("Display 1 Field 1", display1Field1);
display1Field2 = EditorGUILayout.TextField("Display 1 Field 2", display1Field2);
}
else
{
GUILayout.Label("Display 2");
display2Field1 = EditorGUILayout.TextField("Display 2 Field 1", display2Field1);
display2Field2 = EditorGUILayout.TextField("Display 2 Field 2", display2Field2);
}
if (GUI.Button(new Rect(10, 80, 100, 20), "Swap Displays"))
{
GUI.FocusControl(null);
display1Visible = !display1Visible;
}
if (GUI.Button(new Rect(120, 80, 100, 20), "Clear Values"))
{
GUI.FocusControl(null);
display1Field1 = string.Empty;
display1Field2 = string.Empty;
display2Field1 = string.Empty;
display2Field2 = string.Empty;
}
if (GUI.Button(new Rect(230, 80, 100, 20), "Reset Values"))
{
GUI.FocusControl(null);
display1Field1 = "display1Field1";
display1Field2 = "display1Field2";
display2Field1 = "display2Field1";
display2Field2 = "display2Field2";
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment