/// <summary>
        /// Called each time the inspector's GUI is refreshed.
        /// </summary>
        public override void OnInspectorGUI()
        {
            LocalizedText myTarget = (LocalizedText)target;

            EditorGUIUtility.labelWidth = 60;

            // If the Locked flag is on, just show a selected label that is grayed out.
            if (myTarget.Locked)
            {
                EditorGUILayout.BeginHorizontal();
                GUI.color = Color.grey;
                EditorGUILayout.LabelField("Token: ", GUILayout.Width(EditorGUIUtility.labelWidth - 4));
                EditorGUILayout.SelectableLabel(myTarget.Token, EditorStyles.textField, GUILayout.Height(EditorGUIUtility.singleLineHeight));
                GUI.color = Color.white;
                EditorGUILayout.EndHorizontal();
            }
            else
            {
                myTarget.Token = EditorGUILayout.TextField("Token: ", myTarget.Token);
            }

            // If the token is in devon, set the Text components text to keep it updated.
            if (Localizer.Has(myTarget.Token))
            {
                myTarget.GetComponent <Text>().text = Localizer.Get(myTarget.Token);
            }
            else
            {
                EditorGUILayout.LabelField("Token is not pushed to Devon");

                if (myTarget.Token == "" && !myTarget.Locked)
                {
                    EditorGUILayout.Space();
                    EditorGUILayout.Space();
                    EditorGUILayout.BeginHorizontal();
                    EditorGUILayout.LabelField("Suggested:", GUILayout.Width(EditorGUIUtility.labelWidth + 10));
                    EditorGUILayout.SelectableLabel(SceneManager.GetActiveScene().name + "." + myTarget.transform.parent.name + "." + myTarget.name, EditorStyles.textField, GUILayout.Height(EditorGUIUtility.singleLineHeight));
                    EditorGUILayout.EndHorizontal();
                    EditorGUILayout.Space();
                    EditorGUILayout.Space();
                }
            }

            myTarget.Locked = EditorGUILayout.Toggle("Locked:", myTarget.Locked);

            if (!myTarget.Locked && GUILayout.Button("Generate Token Name"))
            {
                myTarget.Token = (SceneManager.GetActiveScene().name + "." + myTarget.transform.parent.name + "." + myTarget.name).ToLower();
                EditorUtility.SetDirty(target);
            }
        }
예제 #2
0
    public void Show(string level, bool preloadScene)
    {
        ResetSelectFirst();
        SelectFirstButton();
        NextScene      = level;
        isPreloadScene = preloadScene;
        klausGear.SetActive(false);
        k1Gear.SetActive(false);

        // Turn on proper players
        GameObject[] players = GameObject.FindGameObjectsWithTag("Player");

        for (int i = 0; i != players.Length; ++i)
        {
            if (players[i].name.Contains("Klaus"))
            {
                klausGear.SetActive(true);
            }
            else if (players[i].name.Contains("K1"))
            {
                k1Gear.SetActive(true);
            }
        }

        // Turn on black line content
        HUD_TimeAttack hudTimeAttack = GameObject.FindObjectOfType <HUD_TimeAttack>();

        if (hudTimeAttack == null || !hudTimeAttack.ShowLevelCompleted())
        {
            timePanel.SetActive(false);
            quoteText.gameObject.SetActive(true);
        }
        else
        {
            timePanel.SetActive(true);
            quoteText.gameObject.SetActive(false);
        }

        // Check if K1 is alone on this level
        MoveStateKlaus[] klauses = GameObject.FindObjectsOfType <MoveStateKlaus>();
        if (klauses == null || klauses.Length == 0)
        {
            UIFontSetter fontSetter = quoteText.GetComponent <UIFontSetter>();
            if (fontSetter != null)
            {
                fontSetter.ChangeFontType(FontsManager.FontType.K1);
            }
        }

        quoteText.ObjectText = quoteText.ObjectText.ToUpper();
    }
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();

            LocalizationInitializer.Startup();

            Target = target as LocalizedText;

            if (Application.isPlaying)
            {
                return;
            }

            var service = LocalizationService.Instance;

            if (service == null || service.Strings == null)
            {
                var p = EditorGUILayout.TextField("Key", Target.Key);

                if (p != Target.Key)
                {
                    Target.Key = p;
                    EditorUtility.SetDirty(target);
                }

                EditorGUILayout.LabelField("Error ", "LocalizationService Not Found");
            }
            else
            {
                var files = service.StringsByFile.Select(o => o.Key).ToArray();

                var findex = Array.IndexOf(files, Target.File);

                var fi = EditorGUILayout.Popup("File", findex, files);

                if (fi != findex)
                {
                    Target.File = files[fi];
                    EditorUtility.SetDirty(target);
                }

                //
                if (!string.IsNullOrEmpty(Target.File))
                {
                    //filter
                    Target.Filter = EditorGUILayout.TextField("Filter ", Target.Filter);

                    string[] words;

                    if (!string.IsNullOrEmpty(Target.Filter))
                    {
                        words = service.StringsByFile[Target.File].Select(o => o.Key).Where(o => o.Contains(Target.Filter)).ToArray();
                    }
                    else
                    {
                        words = service.StringsByFile[Target.File].Select(o => o.Key).ToArray();
                    }
                    var index = Array.IndexOf(words, Target.Key);

                    var i = EditorGUILayout.Popup("Keys", index, words);

                    if (i != index)
                    {
                        Target.Key   = words[i];
                        Target.Value = service.Get(Target.Key, string.Empty);
                        EditorUtility.SetDirty(target);
                    }
                }
            }

            if (!string.IsNullOrEmpty(Target.Value))
            {
                EditorGUILayout.LabelField("Value ", Target.Value);

                Target.GetComponent <UnityEngine.UI.Text>().text = Target.Value;
            }
        }
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();

            LocalizationInitializer.Startup();

            Target = target as LocalizedText;

            if (Application.isPlaying)
                return;

            var service = LocalizationService.Instance;

            if (service == null || service.Strings == null)
            {
                var p = EditorGUILayout.TextField("Key", Target.Key);

                if (p != Target.Key)
                {
                    Target.Key = p;
                    EditorUtility.SetDirty(target);
                }

                EditorGUILayout.LabelField("Error ", "LocalizationService Not Found");
            }
            else
            {
                var files = service.StringsByFile.Select(o => o.Key).ToArray();

                var findex = Array.IndexOf(files, Target.File);

                var fi = EditorGUILayout.Popup("File", findex, files);

                if (fi != findex)
                {
                    Target.File = files[fi];
                    EditorUtility.SetDirty(target);
                }

                //
                if (!string.IsNullOrEmpty(Target.File))
                {
                    //filter
                    Target.Filter = EditorGUILayout.TextField("Filter ", Target.Filter);

                    string[] words;

                    if (!string.IsNullOrEmpty(Target.Filter))
                    {
                        words = service.StringsByFile[Target.File].Select(o => o.Key).Where(o => o.Contains(Target.Filter)).ToArray();
                    }
                    else
                    {
                        words = service.StringsByFile[Target.File].Select(o => o.Key).ToArray();
                    }
                    var index = Array.IndexOf(words, Target.Key);

                    var i = EditorGUILayout.Popup("Keys", index, words);

                    if (i != index)
                    {
                        Target.Key = words[i];
                        Target.Value = service.Get(Target.Key, string.Empty);
                        EditorUtility.SetDirty(target);
                    }
                }

            }

            if (!string.IsNullOrEmpty(Target.Value))
            {
                EditorGUILayout.LabelField("Value ", Target.Value);

                Target.GetComponent<UnityEngine.UI.Text>().text = Target.Value;
            }
        }