public override void OnInspectorGUI() { _settings = (Settings)target; if (_settings == null) { return; } var logoStyle = new GUIStyle(); logoStyle.alignment = TextAnchor.MiddleCenter; var logoTexture = Resources.Load <Texture>("gow-logo"); GUILayout.Label(logoTexture, logoStyle); var tabsList = new List <string>(); System.Enum.GetValues(typeof(GOWSettingsTab)).Cast <GOWSettingsTab>().ForEach(t => { tabsList.Add(t.ToString()); }); _tab = (GOWSettingsTab)GUILayout.Toolbar((int)_tab, tabsList.ToArray()); if (_tab == GOWSettingsTab.Login) { GowSettingsEditorLogin.OnGUI(_settings, this); } else if (_tab == GOWSettingsTab.Custom) { GowSettingsEditorSettings.OnGUI(_settings, this); } }
public static void OnGUI(Settings settings, GowSettingsEditor settingsEditor) { GUIStyle errorStyle = new GUIStyle(); errorStyle.normal.textColor = Color.red; if (IsTokenValid(settings.token)) { EditorGUILayout.BeginHorizontal(); LabelRight(string.Format("Email: {0}", settings.email)); if (ButtonLogout()) { Reset(); settings.token = null; settings.selectedGameId = null; settings.selectedGameName = null; settings.selectedGameCategory = null; settings.gameKey = null; settings.androidGameId = null; settings.androidPublicKey = null; _password = null; _studios = null; _studio = null; _games = null; _game = null; EditorUtility.SetDirty(settings); Undo.RecordObject(settings, settings.name); AssetDatabase.SaveAssets(); } EditorGUILayout.EndHorizontal(); } if (!IsTokenValid(settings.token)) { if (!string.IsNullOrEmpty(_email)) { _email = _email.Trim(); } _email = EditorGUILayout.TextField("Email", _email); _password = EditorGUILayout.PasswordField("Password", _password); if (Button("Login")) { if (string.IsNullOrEmpty(_email)) { webErrorLine = "Email cannot be empty"; } else if (string.IsNullOrEmpty(_password)) { webErrorLine = "Password cannot be empty"; } else { Login(_email, _password, token => { settings.selectedStudioId = null; settings.selectedGameId = null; settings.token = token; settings.email = _email; }, error => { }); } } } else if (_studio == null || string.IsNullOrEmpty(settings.selectedStudioId) || settings.selectedStudioId != _studio.id) { DrawSelectStudio(settings); } else if (_game == null || string.IsNullOrEmpty(settings.selectedGameId) || settings.selectedGameId != _game.id) { DrawSelectStudio(settings); DrawSelectGame(settings); } else { GUILayout.Label("You logged in"); GowSettingsEditorSettings.OnGUI(settings, settingsEditor); } DrawErrorLabel(); }