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