public override void OnInspectorGUI() { #if DATA_GENER UILocalization local = target as UILocalization; //base.OnInspectorGUI(); local.key = EditorGUILayout.TextField("Key", local.key); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Open Excel")) { EditorUtility.OpenWithDefaultApp(PathConfig.LanguageDataExcelPath); } if (GUILayout.Button("Open Const")) { UnityEngine.Object obj = EditorResources.GetAsset <UnityEngine.Object>("LanguageConst", "ResetCore", "Localization") as UnityEngine.Object; AssetDatabase.OpenAsset(obj); } EditorGUILayout.EndHorizontal(); if (!File.Exists(PathConfig.LanguageDataPath)) { EditorGUILayout.HelpBox("You have not exported the localization file, export please!", MessageType.Error); } if (GUILayout.Button("Export Localization")) { Source2Localization.ExportExcelFile(); } Array types = Enum.GetValues(typeof(LanguageConst.LanguageType)); if (local.gameObject.GetComponent <Text>() != null) { foreach (LanguageConst.LanguageType type in types) { GUILayout.Label(type.ToString()); string helpTxt = LanguageManager.GetWord(local.key, type); EditorGUILayout.HelpBox(helpTxt, MessageType.None); } } if (local.gameObject.GetComponent <Image>() != null) { string defSp = LanguageManager.GetWord(local.key, LanguageConst.defaultLanguage); if (!string.IsNullOrEmpty(defSp)) { local.gameObject.GetComponent <Image>().sprite = SpriteHelper.GetSpriteByFullName(defSp); } foreach (LanguageConst.LanguageType type in types) { GUILayout.Label(type.ToString()); string helpTxt = LanguageManager.GetWord(local.key, type); if (string.IsNullOrEmpty(helpTxt)) { continue; } GUILayout.Label(helpTxt); GUILayout.Label(SpriteHelper.GetSpriteByFullName(helpTxt).texture, GUILayout.Width(50), GUILayout.Height(50)); } } #else EditorGUILayout.HelpBox("You need import \"DATA_GENER\" module to use this function", MessageType.Error); #endif }
/// <summary> /// 设置Image /// </summary> /// <param name="img"></param> /// <param name="spriteName"></param> /// <param name="packageName"></param> public static void SetImage(this Image img, string spriteName, string packageName = UIConst.defaultPackage) { img.sprite = SpriteHelper.GetSprite(spriteName, packageName); }