Exemplo n.º 1
0
        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
        }
Exemplo n.º 2
0
 /// <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);
 }