Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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();
        }