// Functions
        //----------------------------------------------------------------------------
        private void Load()
        {
            _textSets.Clear();

            TextAsset textAsset = AssetDatabase.LoadAssetAtPath <TextAsset>(apEditorUtil.ResourcePath_Text + "apLangPack.txt");

            string[] strParseLines   = textAsset.text.Split(new string[] { "\n" }, StringSplitOptions.None);
            string   strCurParseLine = null;

            for (int i = 1; i < strParseLines.Length; i++)
            {
                //첫줄(index 0)은 빼고 읽는다.
                strCurParseLine = strParseLines[i].Replace("\r", "");
                string[] strSubParseLine = strCurParseLine.Split(new string[] { "," }, StringSplitOptions.None);
                //Parse 순서
                //0 : TEXT 타입 (string) - 파싱 안한다.
                //1 : TEXT 타입 (int)
                //2 : English (영어)
                //3 : Korean (한국어)
                //4 : French (프랑스어)
                //5 : German (독일어)
                //6 : Spanish (스페인어)
                //7 : Italian (이탈리아어)
                //8 : Danish (덴마크어)
                //9 : Japanese (일본어)
                //10 : Chinese_Traditional (중국어-번체)
                //11 : Chinese_Simplified (중국어-간체)
                //12 : Polich (폴란드어)

                if (strSubParseLine.Length < 13)
                {
                    //Debug.LogError("인식할 수 없는 Text (" + i + " : " + strCurParseLine + ")");
                    continue;
                }
                try
                {
                    string  strTextType = strSubParseLine[0];
                    int     index       = (int.Parse(strSubParseLine[1]));
                    TextSet newTextSet  = new TextSet(index, strTextType);

                    newTextSet.SetText(apEditor.LANGUAGE.English, strSubParseLine[2]);
                    newTextSet.SetText(apEditor.LANGUAGE.Korean, strSubParseLine[3]);
                    newTextSet.SetText(apEditor.LANGUAGE.French, strSubParseLine[4]);
                    newTextSet.SetText(apEditor.LANGUAGE.German, strSubParseLine[5]);
                    newTextSet.SetText(apEditor.LANGUAGE.Spanish, strSubParseLine[6]);
                    newTextSet.SetText(apEditor.LANGUAGE.Italian, strSubParseLine[7]);
                    newTextSet.SetText(apEditor.LANGUAGE.Danish, strSubParseLine[8]);
                    newTextSet.SetText(apEditor.LANGUAGE.Japanese, strSubParseLine[9]);
                    newTextSet.SetText(apEditor.LANGUAGE.Chinese_Traditional, strSubParseLine[10]);
                    newTextSet.SetText(apEditor.LANGUAGE.Chinese_Simplified, strSubParseLine[11]);
                    newTextSet.SetText(apEditor.LANGUAGE.Polish, strSubParseLine[12]);

                    _textSets.Add(newTextSet);
                }
                catch (Exception)
                {
                    Debug.LogError("Parsing 실패 (" + i + " : " + strCurParseLine + ")");
                }
            }
        }
Пример #2
0
    public void GetAllText(Transform transform)
    {
        for (int i = 0; i < transform.childCount; ++i)
        {
            Transform obj  = transform.GetChild(i);
            Text      text = obj.GetComponent <Text>();
            if (text != null)
            {
                TextSet setting = new TextSet();
                setting.text               = text.text;
                setting.font               = text.font;
                setting.fontStyle          = text.fontStyle;
                setting.fontSize           = text.fontSize;
                setting.lineSpacing        = text.lineSpacing;
                setting.richText           = text.supportRichText;
                setting.alignment          = text.alignment;
                setting.horizontalOverflow = text.horizontalOverflow;
                setting.verticalOverflow   = text.verticalOverflow;
                setting.bestFit            = text.resizeTextForBestFit;
                setting.color              = text.color;
                setting.material           = text.material;

                textSet.Add(setting);

                textList.Add(obj);
            }

            GetAllText(obj);
        }
    }
Пример #3
0
        public static TextSet TextSetGet(FileIdentifier fileIdentifier, List <AlternativeView> alternativeViews, string extension, string mimeType, Func <AlternativeView, bool> filter = null, bool force = false)
        {
            var textSet = new TextSet
            {
                TextType = TextSet.TextTypeEnum.Unknown
            };


            FileIdentifier text = null;

            if (filter == null)
            {
                // query for Text formats by mime-type
                text = alternativeViews?.FirstOrDefault(v => v.MimeType == MIME_TEXT)?.FileIdentifier;

                if (text == null && (mimeType == MIME_TEXT || force))
                {
                    text = fileIdentifier;
                }
            }
            else
            {
                text = alternativeViews?.FirstOrDefault(v => filter(v))?.FileIdentifier;
            }

            if (text != null)
            {
                textSet.FileIdentifier = text;
                textSet.TextType       = TextSet.TextTypeEnum.Text;
            }

            return(textSet);
        }
 // Init
 //------------------------------------------------------------------
 public void Init()
 {
     _selectedTextSet = null;
     if (_textSets == null)
     {
         _textSets = new List <TextSet>();
     }
     _textSets.Clear();
 }
Пример #5
0
 /// <summary>
 /// 公司原来通用版中的方法
 /// </summary>
 /// <param name="Bar_Data"></param>
 /// <param name="IsPrint"></param>
 /// <param name="xmlFile"></param>
 public void PrintBarcodeMore(DataTable Bar_Data, bool IsPrint, string xmlFile)
 {
     if (Bar_Data != null && Bar_Data.Rows.Count > 0)
     {
         List <PrinterSet> printerInfo = OperateXML.GetPrinterInfo(xmlFile);
         List <TextSet>    txtInfo     = OperateXML.GetTxtInfo(xmlFile);
         List <BarcodeSet> barcode     = OperateXML.GetBarcode(xmlFile);
         Image[]           array       = new Image[Bar_Data.Rows.Count];
         for (int i = 0; i < Bar_Data.Rows.Count; i++)
         {
             Bitmap   bitmap   = new Bitmap(int.Parse(printerInfo[0].Width), int.Parse(printerInfo[0].Height));
             Graphics graphics = Graphics.FromImage(bitmap);
             graphics.Clear(Color.White);
             int j;
             for (j = 0; j < Bar_Data.Columns.Count; j++)
             {
                 if (Bar_Data.Columns[j].ColumnName.ToLower() != "barcode" && Bar_Data.Columns[j].ColumnName.ToLower() != "printnum" && Bar_Data.Columns[j].ColumnName.ToLower() != "条形码")
                 {
                     int    num        = 10;
                     string familyName = "";
                     int    num2       = 1;
                     int    num3       = 1;
                     int    num4       = 0;
                     int    num5       = 10;
                     string text       = Bar_Data.Rows[i][j].ToString();
                     //TextSet textSet = txtInfo.Find((TextSet t) => t.TextName == Bar_Data.Columns[j].ColumnName);
                     TextSet textSet = txtInfo.Find(delegate(TextSet t)
                     {
                         return(t.TextName == Bar_Data.Columns[j].ColumnName);
                     });
                     if (textSet != null)
                     {
                         num        = int.Parse(textSet.TextFontSize);
                         familyName = textSet.TextFontName;
                         num2       = int.Parse(textSet.TextX);
                         num3       = int.Parse(textSet.TextY);
                         num4       = 1;
                     }
                     if (num4 == 1)
                     {
                         string text2 = text;
                         if (num5 > 0)
                         {
                             int    length = num5;
                             string text3  = this.bSubstring(text2, length);
                             if (text3.Trim() != "")
                             {
                                 if (text3 != text2)
                                 {
                                     graphics.DrawString(text3, new Font(familyName, (float)num), Brushes.Black, new PointF((float)num2, (float)num3));
                                     graphics.DrawString(text2.Replace(text3, ""), new Font(familyName, (float)num), Brushes.Black, new PointF((float)num2, (float)(num3 + num + 3)));
                                 }
                                 else
                                 {
                                     graphics.DrawString(text2, new Font(familyName, (float)num), Brushes.Black, new PointF((float)num2, (float)num3));
                                 }
                             }
                         }
                     }
                 }
             }
             string txm_data = Bar_Data.Rows[i]["barcode"].ToString();
             int    num6     = 1;
             try
             {
                 num6 = Convert.ToInt32(Bar_Data.Rows[i]["printnum"].ToString());
             }
             catch
             {
             }
             if (num6 < 1)
             {
                 num6 = 1;
             }
             Image image = this.TxmImage(txm_data, int.Parse(barcode[0].BarcodeLineWidth), int.Parse(barcode[0].BarcodeHeight));
             if (image != null)
             {
                 graphics.DrawImage(image, int.Parse(barcode[0].BarcodeX), int.Parse(barcode[0].BarcodeY));
             }
             graphics.Dispose();
             bitmap.Tag = num6;
             array[i]   = bitmap;
         }
         if (IsPrint)
         {
             Image[] array2 = array;
             for (int l = 0; l < array2.Length; l++)
             {
                 Image image2 = array2[l];
                 if (image2 != null)
                 {
                     try
                     {
                         this.Image_Ok = image2;
                         PrintDocument printDocument = new PrintDocument();
                         printDocument.PrintPage += new PrintPageEventHandler(this.prt_PrintPage);
                         PrintPreviewDialog printPreviewDialog = new PrintPreviewDialog();
                         if (this.Print_MachName.Trim() != "")
                         {
                             printDocument.PrinterSettings.PrinterName = this.Print_MachName;
                         }
                         printPreviewDialog.Document = printDocument;
                         for (int k = 0; k < Convert.ToInt32(image2.Tag.ToString()); k++)
                         {
                             printPreviewDialog.Document.Print();
                         }
                     }
                     catch
                     {
                     }
                 }
             }
         }
         else
         {
             Form_SeeTxm form_SeeTxm = new Form_SeeTxm(array, Bar_Data, this.Print_MachName);
             form_SeeTxm.ShowDialog();
         }
     }
 }
Пример #6
0
        public void SetTextAsset(TextAsset textAsset)
        {
            if (_isLoaded)
            {
                return;
            }
            _textSets.Clear();
            string[] strParseLines   = textAsset.text.Split(new string[] { "\n" }, StringSplitOptions.None);
            string   strCurParseLine = null;

            for (int i = 1; i < strParseLines.Length; i++)
            {
                //첫줄(index 0)은 빼고 읽는다.
                strCurParseLine = strParseLines[i].Replace("\r", "");
                string[] strSubParseLine = strCurParseLine.Split(new string[] { "," }, StringSplitOptions.None);
                //Parse 순서
                //0 : TEXT 타입 (string) - 파싱 안한다.
                //1 : TEXT 타입 (int)
                //2 : English (영어)
                //3 : Korean (한국어)
                //4 : French (프랑스어)
                //5 : German (독일어)
                //6 : Spanish (스페인어)
                //7 : Italian (이탈리아어)
                //8 : Danish (덴마크어)
                //9 : Japanese (일본어)
                //10 : Chinese_Traditional (중국어-번체)
                //11 : Chinese_Simplified (중국어-간체)
                if (strSubParseLine.Length < 12)
                {
                    //Debug.LogError("인식할 수 없는 Text (" + i + " : " + strCurParseLine + ")");
                    continue;
                }
                try
                {
                    TEXT    textType   = (TEXT)(int.Parse(strSubParseLine[1]));
                    TextSet newTextSet = new TextSet(textType);

                    newTextSet.SetText(apEditor.LANGUAGE.English, strSubParseLine[2]);
                    newTextSet.SetText(apEditor.LANGUAGE.Korean, strSubParseLine[3]);
                    newTextSet.SetText(apEditor.LANGUAGE.French, strSubParseLine[4]);
                    newTextSet.SetText(apEditor.LANGUAGE.German, strSubParseLine[5]);
                    newTextSet.SetText(apEditor.LANGUAGE.Spanish, strSubParseLine[6]);
                    newTextSet.SetText(apEditor.LANGUAGE.Italian, strSubParseLine[7]);
                    newTextSet.SetText(apEditor.LANGUAGE.Danish, strSubParseLine[8]);
                    newTextSet.SetText(apEditor.LANGUAGE.Japanese, strSubParseLine[9]);
                    newTextSet.SetText(apEditor.LANGUAGE.Chinese_Traditional, strSubParseLine[10]);
                    newTextSet.SetText(apEditor.LANGUAGE.Chinese_Simplified, strSubParseLine[11]);

                    _textSets.Add(textType, newTextSet);
                }
                catch (Exception ex)
                {
                    Debug.LogError("Parsing 실패 (" + i + " : " + strCurParseLine + ")");
                }
            }



            _isLoaded = true;
        }
        private void Save()
        {
            if (_textSets.Count == 0)
            {
                return;
            }
            //string filePath = Application.dataPath + "/Editor/AnyPortraitTool/Util/apLangPack.txt";
            //string filePath_Enum = Application.dataPath + "/Editor/AnyPortraitTool/Util/apLangPack_Enum.txt";

            string       filePath      = Application.dataPath + "/" + apEditorUtil.ResourcePath_Text_WithoutAssets + "apLangPack.txt";
            string       filePath_Enum = Application.dataPath + "/" + apEditorUtil.ResourcePath_Text_WithoutAssets + "apLangPack_Enum.txt";
            FileStream   fs            = null;
            StreamWriter sw            = null;



            //일단 정렬
            _textSets.Sort(delegate(TextSet a, TextSet b)
            {
                return(a._index - b._index);
            });

            try
            {
                fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);
                sw = new StreamWriter(fs);

                sw.WriteLine("Text Type,Text Index,1 English (영어),2 Korean (한국어),3 French (프랑스어),4 German (독일어),5 Spanish (스페인어),6 Italian (이탈리아어),7 Danish (덴마크어),8 Japanese (일본어),9 Chinese_Traditional (중국어-번체),10 Chinese_Simplified (중국어-간체), Polish (폴란드어)");
                TextSet curSet = null;
                for (int i = 0; i < _textSets.Count; i++)
                {
                    curSet = _textSets[i];
                    System.Text.StringBuilder strBuilder = new System.Text.StringBuilder();

                    strBuilder.Append(curSet._typeName).Append(",");
                    strBuilder.Append(curSet._index).Append(",");
                    strBuilder.Append(curSet.GetTextToSave(apEditor.LANGUAGE.English)).Append(",");                                 //2 : English (영어)
                    strBuilder.Append(curSet.GetTextToSave(apEditor.LANGUAGE.Korean)).Append(",");                                  //3 : Korean (한국어)
                    strBuilder.Append(curSet.GetTextToSave(apEditor.LANGUAGE.French)).Append(",");                                  //4 : French (프랑스어)
                    strBuilder.Append(curSet.GetTextToSave(apEditor.LANGUAGE.German)).Append(",");                                  //5 : German (독일어)
                    strBuilder.Append(curSet.GetTextToSave(apEditor.LANGUAGE.Spanish)).Append(",");                                 //6 : Spanish (스페인어)
                    strBuilder.Append(curSet.GetTextToSave(apEditor.LANGUAGE.Italian)).Append(",");                                 //7 : Italian (이탈리아어)
                    strBuilder.Append(curSet.GetTextToSave(apEditor.LANGUAGE.Danish)).Append(",");                                  //8 : Danish (덴마크어)
                    strBuilder.Append(curSet.GetTextToSave(apEditor.LANGUAGE.Japanese)).Append(",");                                //9 : Japanese (일본어)
                    strBuilder.Append(curSet.GetTextToSave(apEditor.LANGUAGE.Chinese_Traditional)).Append(",");                     //10 : Chinese_Traditional (중국어-번체)
                    strBuilder.Append(curSet.GetTextToSave(apEditor.LANGUAGE.Chinese_Simplified)).Append(",");                      //11 : Chinese_Simplified (중국어-간체)
                    strBuilder.Append(curSet.GetTextToSave(apEditor.LANGUAGE.Polish)).Append(",");                                  //12 : Polish (폴란드어)

                    sw.WriteLine(strBuilder.ToString());
                }

                sw.Flush();

                if (sw != null)
                {
                    sw.Close();
                    sw = null;
                }
                if (fs != null)
                {
                    fs.Close();
                    fs = null;
                }


                fs = new FileStream(filePath_Enum, FileMode.Create, FileAccess.Write);
                sw = new StreamWriter(fs);

                sw.WriteLine("\tpublic enum TEXT");
                sw.WriteLine("\t{");
                for (int i = 0; i < _textSets.Count; i++)
                {
                    curSet = _textSets[i];
                    sw.WriteLine("\t\t" + curSet._typeName + " = " + curSet._index + ",");
                }
                sw.WriteLine("\t}");


                sw.Flush();

                if (sw != null)
                {
                    sw.Close();
                    sw = null;
                }
                if (fs != null)
                {
                    fs.Close();
                    fs = null;
                }

                //혹시 모를 복사를 하자
                FileInfo fi = new FileInfo(filePath);
                fi.CopyTo(Application.dataPath + "/../../LangPackBackUp_" + DateTime.Now.Month + "_" + DateTime.Now.Day + "_" + DateTime.Now.Hour + "_" + DateTime.Now.Minute + "_" + DateTime.Now.Second + ".txt");
            }
            catch (Exception ex)
            {
                Debug.LogError("Save Exception : " + ex);
                if (sw != null)
                {
                    sw.Close();
                    sw = null;
                }
                if (fs != null)
                {
                    fs.Close();
                    fs = null;
                }
            }

            AssetDatabase.Refresh(ImportAssetOptions.Default);
        }
        // GUI
        //------------------------------------------------------------------
        void OnGUI()
        {
            int width  = (int)position.width;
            int height = (int)position.height;

            width -= 10;
            //Bake 설정
            EditorGUILayout.LabelField("Localization Table", GUILayout.Width(width));
            //X, Y 개수를 표시

            GUILayout.Space(10);

            EditorGUILayout.BeginHorizontal(GUILayout.Width(width), GUILayout.Height(25));
            GUILayout.Space(5);
            if (GUILayout.Button("Load", GUILayout.Width(80), GUILayout.Height(25)))
            {
                Load();
                _selectedTextSet = null;
            }
            if (GUILayout.Button("Save", GUILayout.Width(80), GUILayout.Height(25)))
            {
                Save();
            }
            GUILayout.Space(20);
            if (GUILayout.Button("Add Item", GUILayout.Width(120), GUILayout.Height(25)))
            {
                TextSet newTextSet = new TextSet(_textSets.Count, "");
                newTextSet.Init();
                _textSets.Add(newTextSet);
                _selectedTextSet = newTextSet;
                GUI.FocusControl(null);
            }

            if (GUILayout.Button("Sort", GUILayout.Width(80), GUILayout.Height(25)))
            {
                //일단 정렬
                _textSets.Sort(delegate(TextSet a, TextSet b)
                {
                    return(a._index - b._index);
                });
            }

            if (GUILayout.Button("Open Enums", GUILayout.Width(100), GUILayout.Height(25)))
            {
                TextAsset enumAsset = AssetDatabase.LoadAssetAtPath <TextAsset>(apEditorUtil.ResourcePath_Text + "apLangPack_Enum.txt");
                if (enumAsset != null)
                {
                    AssetDatabase.OpenAsset(enumAsset);
                }
            }
            GUILayout.Space(10);
            if (GUILayout.Button("Auto Index", GUILayout.Width(100), GUILayout.Height(25)))
            {
                //일단 정렬
                for (int i = 0; i < _textSets.Count; i++)
                {
                    _textSets[i]._index = i;
                }
            }
            EditorGUILayout.EndHorizontal();

            int height_Table = height - (30 + 25 + 20 + 200 + 40);


            int width_Table = width - 30;

            int width_Select = 30;
            int width_Name   = 150;
            int width_Index  = 50;
            int width_Text   = (width_Table - (5 + width_Select + width_Name + width_Index)) / 11 - 4;


            EditorGUILayout.BeginHorizontal(GUILayout.Width(width));
            GUILayout.Space(5);
            GUILayout.Space(width_Select + 2);
            EditorGUILayout.LabelField("Name", GUILayout.Width(width_Name));
            EditorGUILayout.LabelField("ID", GUILayout.Width(width_Index));
            EditorGUILayout.LabelField("영어", GUILayout.Width(width_Text));
            EditorGUILayout.LabelField("한국어", GUILayout.Width(width_Text));
            EditorGUILayout.LabelField("프랑스어", GUILayout.Width(width_Text));
            EditorGUILayout.LabelField("독일어", GUILayout.Width(width_Text));
            EditorGUILayout.LabelField("스페인어", GUILayout.Width(width_Text));
            EditorGUILayout.LabelField("이탈리아어", GUILayout.Width(width_Text));
            EditorGUILayout.LabelField("덴마크어", GUILayout.Width(width_Text));
            EditorGUILayout.LabelField("일본어", GUILayout.Width(width_Text));
            EditorGUILayout.LabelField("중국어-번체", GUILayout.Width(width_Text));
            EditorGUILayout.LabelField("중국어-간체", GUILayout.Width(width_Text));
            EditorGUILayout.LabelField("폴란드어", GUILayout.Width(width_Text));

            EditorGUILayout.EndHorizontal();
            _scroll = EditorGUILayout.BeginScrollView(_scroll, false, true, GUILayout.Width(width), GUILayout.Height(height_Table));



            EditorGUILayout.BeginVertical(GUILayout.Width(width_Table));
            TextSet curTextSet = null;

            for (int i = 0; i < _textSets.Count; i++)
            {
                curTextSet = _textSets[i];
                EditorGUILayout.BeginHorizontal(GUILayout.Width(width_Table));
                GUILayout.Space(5);
                if (_selectedTextSet != curTextSet)
                {
                    if (GUILayout.Button("Sel", GUILayout.Width(width_Select)))
                    {
                        _selectedTextSet = curTextSet;
                        GUI.FocusControl(null);
                    }
                }
                else
                {
                    if (GUILayout.Button("★", GUILayout.Width(width_Select)))
                    {
                        //..
                    }
                }

                curTextSet._typeName = EditorGUILayout.TextField(curTextSet._typeName, GUILayout.Width(width_Name));
                curTextSet._index    = EditorGUILayout.IntField(curTextSet._index, GUILayout.Width(width_Index));

                curTextSet._textSet[apEditor.LANGUAGE.English]             = EditorGUILayout.TextField(curTextSet._textSet[apEditor.LANGUAGE.English], GUILayout.Width(width_Text));
                curTextSet._textSet[apEditor.LANGUAGE.Korean]              = EditorGUILayout.TextField(curTextSet._textSet[apEditor.LANGUAGE.Korean], GUILayout.Width(width_Text));
                curTextSet._textSet[apEditor.LANGUAGE.French]              = EditorGUILayout.TextField(curTextSet._textSet[apEditor.LANGUAGE.French], GUILayout.Width(width_Text));
                curTextSet._textSet[apEditor.LANGUAGE.German]              = EditorGUILayout.TextField(curTextSet._textSet[apEditor.LANGUAGE.German], GUILayout.Width(width_Text));
                curTextSet._textSet[apEditor.LANGUAGE.Spanish]             = EditorGUILayout.TextField(curTextSet._textSet[apEditor.LANGUAGE.Spanish], GUILayout.Width(width_Text));
                curTextSet._textSet[apEditor.LANGUAGE.Italian]             = EditorGUILayout.TextField(curTextSet._textSet[apEditor.LANGUAGE.Italian], GUILayout.Width(width_Text));
                curTextSet._textSet[apEditor.LANGUAGE.Danish]              = EditorGUILayout.TextField(curTextSet._textSet[apEditor.LANGUAGE.Danish], GUILayout.Width(width_Text));
                curTextSet._textSet[apEditor.LANGUAGE.Japanese]            = EditorGUILayout.TextField(curTextSet._textSet[apEditor.LANGUAGE.Japanese], GUILayout.Width(width_Text));
                curTextSet._textSet[apEditor.LANGUAGE.Chinese_Traditional] = EditorGUILayout.TextField(curTextSet._textSet[apEditor.LANGUAGE.Chinese_Traditional], GUILayout.Width(width_Text));
                curTextSet._textSet[apEditor.LANGUAGE.Chinese_Simplified]  = EditorGUILayout.TextField(curTextSet._textSet[apEditor.LANGUAGE.Chinese_Simplified], GUILayout.Width(width_Text));
                curTextSet._textSet[apEditor.LANGUAGE.Polish]              = EditorGUILayout.TextField(curTextSet._textSet[apEditor.LANGUAGE.Polish], GUILayout.Width(width_Text));

                EditorGUILayout.EndHorizontal();
            }



            EditorGUILayout.EndVertical();

            GUILayout.Space(height_Table + 20);

            EditorGUILayout.EndScrollView();

            GUILayout.Space(10);
            GUILayout.Box("", GUILayout.Width(width), GUILayout.Height(4));
            GUILayout.Space(10);

            if (_selectedTextSet != null)
            {
                int width_selLabel = 100;
                int width_selData  = ((width - 10) / 2) - (width_selLabel + 4);

                EditorGUILayout.BeginHorizontal(GUILayout.Width(width));
                GUILayout.Space(5);
                EditorGUILayout.LabelField("타입명", GUILayout.Width(width_selLabel));
                _selectedTextSet._typeName = EditorGUILayout.TextField(_selectedTextSet._typeName, GUILayout.Width(200));

                EditorGUILayout.LabelField("Index", GUILayout.Width(width_selLabel));
                _selectedTextSet._index = EditorGUILayout.IntField(_selectedTextSet._index, GUILayout.Width(80));
                EditorGUILayout.EndHorizontal();

                GUILayout.Space(10);

                EditorGUILayout.BeginHorizontal(GUILayout.Width(width));
                GUILayout.Space(5);
                EditorGUILayout.LabelField("1 영어", GUILayout.Width(width_selLabel));
                _selectedTextSet._textSet[apEditor.LANGUAGE.English] = EditorGUILayout.TextField(_selectedTextSet._textSet[apEditor.LANGUAGE.English], GUILayout.Width(width_selData));

                EditorGUILayout.LabelField("2 한국어", GUILayout.Width(width_selLabel));
                _selectedTextSet._textSet[apEditor.LANGUAGE.Korean] = EditorGUILayout.TextField(_selectedTextSet._textSet[apEditor.LANGUAGE.Korean], GUILayout.Width(width_selData));
                EditorGUILayout.EndHorizontal();

                GUILayout.Space(5);

                EditorGUILayout.BeginHorizontal(GUILayout.Width(width));
                GUILayout.Space(5);
                EditorGUILayout.LabelField("3 프랑스어", GUILayout.Width(width_selLabel));
                _selectedTextSet._textSet[apEditor.LANGUAGE.French] = EditorGUILayout.TextField(_selectedTextSet._textSet[apEditor.LANGUAGE.French], GUILayout.Width(width_selData));

                EditorGUILayout.LabelField("4 독일어", GUILayout.Width(width_selLabel));
                _selectedTextSet._textSet[apEditor.LANGUAGE.German] = EditorGUILayout.TextField(_selectedTextSet._textSet[apEditor.LANGUAGE.German], GUILayout.Width(width_selData));
                EditorGUILayout.EndHorizontal();

                GUILayout.Space(5);

                EditorGUILayout.BeginHorizontal(GUILayout.Width(width));
                GUILayout.Space(5);
                EditorGUILayout.LabelField("5 스페인어", GUILayout.Width(width_selLabel));
                _selectedTextSet._textSet[apEditor.LANGUAGE.Spanish] = EditorGUILayout.TextField(_selectedTextSet._textSet[apEditor.LANGUAGE.Spanish], GUILayout.Width(width_selData));

                EditorGUILayout.LabelField("6 이탈리아어", GUILayout.Width(width_selLabel));
                _selectedTextSet._textSet[apEditor.LANGUAGE.Italian] = EditorGUILayout.TextField(_selectedTextSet._textSet[apEditor.LANGUAGE.Italian], GUILayout.Width(width_selData));
                EditorGUILayout.EndHorizontal();

                GUILayout.Space(5);

                EditorGUILayout.BeginHorizontal(GUILayout.Width(width));
                GUILayout.Space(5);
                EditorGUILayout.LabelField("7 덴마크어", GUILayout.Width(width_selLabel));
                _selectedTextSet._textSet[apEditor.LANGUAGE.Danish] = EditorGUILayout.TextField(_selectedTextSet._textSet[apEditor.LANGUAGE.Danish], GUILayout.Width(width_selData));

                EditorGUILayout.LabelField("8 일본어", GUILayout.Width(width_selLabel));
                _selectedTextSet._textSet[apEditor.LANGUAGE.Japanese] = EditorGUILayout.TextField(_selectedTextSet._textSet[apEditor.LANGUAGE.Japanese], GUILayout.Width(width_selData));
                EditorGUILayout.EndHorizontal();

                GUILayout.Space(5);

                EditorGUILayout.BeginHorizontal(GUILayout.Width(width));
                GUILayout.Space(5);
                EditorGUILayout.LabelField("9 중국어-번체", GUILayout.Width(width_selLabel));
                _selectedTextSet._textSet[apEditor.LANGUAGE.Chinese_Traditional] = EditorGUILayout.TextField(_selectedTextSet._textSet[apEditor.LANGUAGE.Chinese_Traditional], GUILayout.Width(width_selData));

                EditorGUILayout.LabelField("10 중국어-간체", GUILayout.Width(width_selLabel));
                _selectedTextSet._textSet[apEditor.LANGUAGE.Chinese_Simplified] = EditorGUILayout.TextField(_selectedTextSet._textSet[apEditor.LANGUAGE.Chinese_Simplified], GUILayout.Width(width_selData));
                EditorGUILayout.EndHorizontal();

                GUILayout.Space(5);

                EditorGUILayout.BeginHorizontal(GUILayout.Width(width));
                GUILayout.Space(5);
                EditorGUILayout.LabelField("11 폴란드어", GUILayout.Width(width_selLabel));
                _selectedTextSet._textSet[apEditor.LANGUAGE.Polish] = EditorGUILayout.TextField(_selectedTextSet._textSet[apEditor.LANGUAGE.Polish], GUILayout.Width(width_selData));


                EditorGUILayout.EndHorizontal();

                GUILayout.Space(5);
            }
        }
Пример #9
0
    void OnInitState()
    {
        // 1: 获取选中的对象
        if (m_IsSelect == false)
        {
            GameObject[] gameObjects = Selection.gameObjects;
            m_SelectTargets.Clear();
            for (int i = 0; i < gameObjects.Length; i++)
            {
                m_SelectTargets.Add(gameObjects[i]);
                m_SelectedStrPath.Add(AssetDatabase.GetAssetPath(gameObjects[i]));
            }

            if (gameObjects.Length > 0)
            {
                m_IsSelect = true;
            }
        }

        EditorGUILayout.BeginHorizontal();

        if (GUILayout.Button("选择目标", GUILayout.Width(100)))
        {
            m_IsSelect = false;
            m_SelectTargets.Clear();
            m_SelectedStrPath.Clear();
            m_ReplaceTargets.Clear();
            m_ReplaceStrPath.Clear();
        }

        if (GUILayout.Button("开始查找", GUILayout.Width(100)))
        {
            for (int i = 0; i < m_SelectTargets.Count; ++i)
            {
                GameObject obj = m_SelectTargets[i];
                if (obj != null)
                {
                    GetAllText(obj.transform);
                    m_ReplaceTargets.Add(obj);
                    m_ReplaceStrPath.Add(m_SelectedStrPath[i]);
                }
            }

            if (m_SelectedStrPath.Count > 0)
            {
                m_Win.ShowNotification(new GUIContent("查找成功"));
                m_State = WinState.FindResState;
            }
        }

        if (GUILayout.Button("删除文本 Text", GUILayout.Width(100)))
        {
            for (int i = 0; i < textList.Count; i++)
            {
                DestroyImmediate(textList[i].gameObject.GetComponent <Text>(), true);
            }
            m_Win.ShowNotification(new GUIContent("删除成功"));
        }

        if (GUILayout.Button("添加文本 DHText", GUILayout.Width(100)))
        {
            for (int i = 0; i < textList.Count; i++)
            {
                DHText  dhtext  = textList[i].gameObject.AddComponent <DHText>();
                TextSet setting = textSet[i];
                dhtext.text                 = setting.text;
                dhtext.font                 = setting.font;
                dhtext.fontStyle            = setting.fontStyle;
                dhtext.fontSize             = setting.fontSize;
                dhtext.lineSpacing          = setting.lineSpacing;
                dhtext.supportRichText      = setting.richText;
                dhtext.alignment            = setting.alignment;
                dhtext.horizontalOverflow   = setting.horizontalOverflow;
                dhtext.verticalOverflow     = setting.verticalOverflow;
                dhtext.resizeTextForBestFit = setting.bestFit;
                dhtext.color                = setting.color;
                dhtext.material             = setting.material;
            }

            m_Win.ShowNotification(new GUIContent(" 替换成功"));
            textSet.Clear();
            textList.Clear();
            m_SelectTargets.Clear();
        }

        if (GUILayout.Button("退出操作", GUILayout.Width(100)))
        {
            m_Win.Close();
        }

        EditorGUILayout.EndHorizontal();

        EditorGUILayout.BeginVertical();
        for (int i = 0; i < m_SelectedStrPath.Count; ++i)
        {
            GUILayout.Label(m_SelectedStrPath[i]);
        }
        EditorGUILayout.EndVertical();
    }