Ejemplo n.º 1
0
        void TestTargetType <T>(ref List <string> TargetTypes, string TypeName, ref int CurrentTarget) where T : Component
        {
            if (mLocalize.GetComponent <T>() == null)
            {
                return;
            }
            TargetTypes.Add(TypeName);

            if ((mLocalize.mTarget as T) != null)
            {
                CurrentTarget = TargetTypes.Count - 1;
            }
        }
        public override ILocalizeTarget CreateTarget(Localize cmp)
        {
            var target = cmp.GetComponent <T>();

            if (target == null)
            {
                return(null);
            }

            var locTarget = ScriptableObject.CreateInstance <G>();

            locTarget.mTarget = target;
            return(locTarget);
        }
Ejemplo n.º 3
0
 public override bool IsValid(Localize cmp)
 {
     if (mTarget != null)
     {
         var mTargetCmp = mTarget as Component;
         if (mTargetCmp != null && mTargetCmp.gameObject != cmp.gameObject)
         {
             mTarget = null;
         }
     }
     if (mTarget == null)
     {
         mTarget = cmp.GetComponent <T>();
     }
     return(mTarget != null);
 }
Ejemplo n.º 4
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();
        }
Ejemplo n.º 5
0
 public override bool FindTarget(Localize cmp)
 {
     cmp.mTarget = (cmp.mTarget as T) ?? cmp.GetComponent <T>();
     return(cmp.mTarget != null);
 }
Ejemplo n.º 6
0
 public override bool CanLocalize(Localize cmp)
 {
     return(cmp.GetComponent <T>() != null);
 }