I am trying to show a modal window and fill it using GUILayout. I have done this in another script without any problems, and can’t see what I’m doing differently here.
When I use “Begin/End Horizontal”, I get this error:
“ArgumentException: Getting control 1’s position in a group with only 1 controls when doing Repaint”. I have googled the error and other answers don’t seem to be related.
void OnGUI() {
if (UserLoggingIn) {
GUI.ModalWindow(1, loginWindowRect, LoginWindow, "Login");
}
}
void LoginWindow(int windowID) {
GUILayout.BeginHorizontal();
if (GUILayout.Button("Cancel")) {
Debug.Log("Cancel");
}
if (GUILayout.Button("Login")) {
Debug.Log("Login");
}
GUILayout.EndHorizontal();
}
If I remove the Horizontal lines, the error clears, but the buttons do not respond. I can highlight the buttons, but clicking them does nothing.
void LoginWindow(int windowID) {
if (GUILayout.Button("Cancel")) {
Debug.Log("Cancel");
}
if (GUILayout.Button("Login")) {
Debug.Log("Login");
}
}
I’m wondering if another script could be interfering, but can’t see how. Any ideas? The property UserLoggingIn
is not being changed after initialisation.