Пример #1
0
        void OnGUI_Target()
        {
            List <string> TargetTypes   = new List <string>();
            int           CurrentTarget = -1;

            mLocalize.FindTarget();

            foreach (var desc in LocalizationManager.mLocalizeTargets)
            {
                if (desc.CanLocalize(mLocalize))
                {
                    TargetTypes.Add(desc.Name);

                    if (mLocalize.mLocalizeTarget != null && desc.GetTargetType() == mLocalize.mLocalizeTarget.GetType())
                    {
                        CurrentTarget = TargetTypes.Count - 1;
                    }
                }
            }

            if (CurrentTarget == -1)
            {
                CurrentTarget = TargetTypes.Count;
                TargetTypes.Add("None");
            }

            GUILayout.BeginHorizontal();
            GUILayout.Label("Target:", GUILayout.Width(60));
            GUI.changed = false;
            int index = EditorGUILayout.Popup(CurrentTarget, TargetTypes.ToArray());

            if (GUI.changed)
            {
                serializedObject.ApplyModifiedProperties();

                if (mLocalize.mLocalizeTarget != null)
                {
                    DestroyImmediate(mLocalize.mLocalizeTarget);
                }

                foreach (var desc in LocalizationManager.mLocalizeTargets)
                {
                    if (desc.Name == TargetTypes[index])
                    {
                        mLocalize.mLocalizeTarget     = desc.CreateTarget(mLocalize);
                        mLocalize.mLocalizeTargetName = desc.GetTargetType().ToString();
                        break;
                    }
                }
                serializedObject.Update();
            }
            GUILayout.EndHorizontal();
        }
Пример #2
0
        void OnGUI_Target()
        {
            List <string> TargetTypes   = new List <string>();
            int           CurrentTarget = -1;

            mLocalize.FindTarget();
            foreach (var locTarget in LocalizationManager.mLocalizeTargets)
            {
                if (locTarget.CanLocalize(mLocalize))
                {
                    TargetTypes.Add(locTarget.GetName());

                    if (locTarget.HasTarget(mLocalize))
                    {
                        CurrentTarget = TargetTypes.Count - 1;
                    }
                }
            }

            if (CurrentTarget == -1)
            {
                CurrentTarget = TargetTypes.Count;
                TargetTypes.Add("None");
            }

            GUILayout.BeginHorizontal();
            GUILayout.Label("Target:", GUILayout.Width(60));
            GUI.changed = false;
            int index = EditorGUILayout.Popup(CurrentTarget, TargetTypes.ToArray());

            if (GUI.changed)
            {
                serializedObject.ApplyModifiedProperties();
                mLocalize.ReleaseTarget();

                foreach (var locTarget in LocalizationManager.mLocalizeTargets)
                {
                    if (locTarget.GetName() == TargetTypes[index])
                    {
                        locTarget.FindTarget(mLocalize);
                        break;
                    }
                }
                serializedObject.Update();
            }
            GUILayout.EndHorizontal();
        }
Пример #3
0
        void OnGUI_Target()
        {
            List <string> TargetTypes   = new List <string>();
            int           CurrentTarget = -1;

            mLocalize.FindTarget();
            TestTargetType <GUIText>                 (ref TargetTypes, "GUIText", ref CurrentTarget);
            TestTargetType <TextMesh>                (ref TargetTypes, "TextMesh", ref CurrentTarget);
            TestTargetType <AudioSource>             (ref TargetTypes, "AudioSource", ref CurrentTarget);
            TestTargetType <GUITexture>              (ref TargetTypes, "GUITexture", ref CurrentTarget);
            TestTargetType <SpriteRenderer>  (ref TargetTypes, "SpriteRenderer", ref CurrentTarget);

            TestTargetType <UnityEngine.UI.Text>             (ref TargetTypes, "Text", ref CurrentTarget);
            TestTargetType <UnityEngine.UI.Image>    (ref TargetTypes, "Image", ref CurrentTarget);
            TestTargetType <UnityEngine.UI.RawImage> (ref TargetTypes, "RawImage", ref CurrentTarget);

                        #if NGUI
            TestTargetType <UILabel>         (ref TargetTypes, "NGUI UILabel", ref CurrentTarget);
            TestTargetType <UISprite>        (ref TargetTypes, "NGUI UISprite", ref CurrentTarget);
            TestTargetType <UITexture>       (ref TargetTypes, "NGUI UITexture", ref CurrentTarget);
                        #endif

                        #if DFGUI
            TestTargetType <dfButton>                (ref TargetTypes, "DFGUI Button", ref CurrentTarget);
            TestTargetType <dfLabel>                 (ref TargetTypes, "DFGUI Label", ref CurrentTarget);
            TestTargetType <dfPanel>                 (ref TargetTypes, "DFGUI Panel", ref CurrentTarget);
            TestTargetType <dfSprite>                (ref TargetTypes, "DFGUI Sprite", ref CurrentTarget);
            TestTargetType <dfRichTextLabel> (ref TargetTypes, "DFGUI RichTextLabel", ref CurrentTarget);
                        #endif

                        #if TK2D
            TestTargetType <tk2dTextMesh>            (ref TargetTypes, "2DToolKit Label", ref CurrentTarget);
            TestTargetType <tk2dBaseSprite>          (ref TargetTypes, "2DToolKit Sprite", ref CurrentTarget);
                        #endif

                        #if TextMeshPro || TextMeshPro_Pre53
            TestTargetType <TMPro.TextMeshPro>               (ref TargetTypes, "TextMeshPro Label", ref CurrentTarget);
            TestTargetType <TMPro.TextMeshProUGUI>   (ref TargetTypes, "TextMeshPro UGUI", ref CurrentTarget);
                        #endif

                        #if SVG
            TestTargetType <SVGImporter.SVGImage>    (ref TargetTypes, "SVG Image", ref CurrentTarget);
            TestTargetType <SVGImporter.SVGRenderer> (ref TargetTypes, "SVG Renderer", ref CurrentTarget);
                        #endif

            TestTargetTypePrefab(ref TargetTypes, "Prefab", ref CurrentTarget);

            if (CurrentTarget == -1)
            {
                CurrentTarget = TargetTypes.Count;
                TargetTypes.Add("None");
            }

            GUILayout.BeginHorizontal();
            GUILayout.Label("Target:", GUILayout.Width(60));
            GUI.changed = false;
            int index = EditorGUILayout.Popup(CurrentTarget, TargetTypes.ToArray());
            if (GUI.changed)
            {
                serializedObject.ApplyModifiedProperties();
                switch (TargetTypes[index])
                {
                case "GUIText":  mLocalize.mTarget = mLocalize.GetComponent <GUIText>(); break;

                case "TextMesh":  mLocalize.mTarget = mLocalize.GetComponent <TextMesh>(); break;

                case "AudioSource":  mLocalize.mTarget = mLocalize.GetComponent <AudioSource>(); break;

                case "GUITexture":  mLocalize.mTarget = mLocalize.GetComponent <GUITexture>(); break;

                case "SpriteRenderer":  mLocalize.mTarget = mLocalize.GetComponent <SpriteRenderer>(); break;

                case "Text":  mLocalize.mTarget = mLocalize.GetComponent <UnityEngine.UI.Text>(); break;

                case "Image":  mLocalize.mTarget = mLocalize.GetComponent <UnityEngine.UI.Image>(); break;

                case "RawImage":  mLocalize.mTarget = mLocalize.GetComponent <UnityEngine.UI.RawImage>(); break;

                                        #if NGUI
                case "NGUI UILabel":  mLocalize.mTarget = mLocalize.GetComponent <UILabel>(); break;

                case "NGUI UISprite":  mLocalize.mTarget = mLocalize.GetComponent <UISprite>(); break;

                case "NGUI UITexture":  mLocalize.mTarget = mLocalize.GetComponent <UITexture>(); break;
                                        #endif

                                        #if DFGUI
                case "DFGUI Button":  mLocalize.mTarget = mLocalize.GetComponent <dfButton>(); break;

                case "DFGUI Label":  mLocalize.mTarget = mLocalize.GetComponent <dfLabel>(); break;

                case "DFGUI Panel":  mLocalize.mTarget = mLocalize.GetComponent <dfPanel>(); break;

                case "DFGUI Sprite":  mLocalize.mTarget = mLocalize.GetComponent <dfSprite>(); break;

                case "DFGUI RichTextLabel":  mLocalize.mTarget = mLocalize.GetComponent <dfRichTextLabel>(); break;
                                        #endif

                                        #if TK2D
                case "2DToolKit Label":  mLocalize.mTarget = mLocalize.GetComponent <tk2dTextMesh>(); break;

                case "2DToolKit Sprite":  mLocalize.mTarget = mLocalize.GetComponent <tk2dBaseSprite>(); break;
                                        #endif

                                        #if TextMeshPro || TextMeshPro_Pre53
                case "TextMeshPro Label":  mLocalize.mTarget = mLocalize.GetComponent <TMPro.TextMeshPro>(); break;

                case "TextMeshPro UGUI":  mLocalize.mTarget = mLocalize.GetComponent <TMPro.TextMeshProUGUI>(); break;
                                        #endif

                                        #if SVG
                case "SVG Image":  mLocalize.mTarget = mLocalize.GetComponent <SVGImporter.SVGImage>(); break;

                case "SVG Renderer":  mLocalize.mTarget = mLocalize.GetComponent <SVGImporter.SVGRenderer>(); break;
                                        #endif

                case "Prefab":  mLocalize.mTarget = mLocalize.transform.GetChild(0).gameObject; break;
                }
                mLocalize.FindTarget();
                serializedObject.Update();
            }
            GUILayout.EndHorizontal();
        }