// 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 + ")"); } } }
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); } }
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(); }
/// <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(); } } }
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); } }
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(); }