using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text.RegularExpressions; using AtlasUtility; using UnityEditor; using UnityEngine; public class LabelUtilityWindow : EditorWindow { #region Config protected LabelUtility Instance; protected SerializedProperty Script; protected SerializedProperty Languages; protected SerializedProperty Prefabs; protected SerializedObject SerializedObject; #endregion [MenuItem("DashGame/LabelUtility")] protected static void ShowWindow() { Type inspectorType = Type.GetType("UnityEditor.InspectorWindow,UnityEditor.dll"); LabelUtilityWindow window = GetWindow(inspectorType); window.titleContent = new GUIContent("LabelUtility"); window.Show(); } private void OnEnable() { Instance = InstanceManager.SearchInstance(); SerializedObject = new SerializedObject(Instance); Script = SerializedObject.FindProperty("Script"); Languages = SerializedObject.FindProperty("Languages"); Prefabs = SerializedObject.FindProperty("Prefabs"); } private void OnGUI() { SerializedObject.Update(); EditorGUILayout.PropertyField(Script, new GUIContent("Script")); EditorGUILayout.PropertyField(Prefabs, new GUIContent("Prefabs"), true); EditorGUILayout.PropertyField(Languages, new GUIContent("Languages"), true); if (GUILayout.Button("ClearLabels")) { Instance.ClearLabels(); } if (GUILayout.Button("CreateLabelFromPrefabs")) { Instance.CreateLabelFromPrefabs(); } if (GUILayout.Button("CreateLabelFromLanguage")) { Instance.CreateLabelFromLanguage(); } if (GUILayout.Button("ReplaceLanguageLabels")) { Instance.ReplaceLanguageLabels(); } SerializedObject.ApplyModifiedProperties(); } }