LabelUtilityLabelUtilityWindow.cs 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Text.RegularExpressions;
  7. using AtlasUtility;
  8. using UnityEditor;
  9. using UnityEngine;
  10. public class LabelUtilityWindow : EditorWindow
  11. {
  12. #region Config
  13. protected LabelUtility Instance;
  14. protected SerializedProperty Script;
  15. protected SerializedProperty Languages;
  16. protected SerializedProperty Prefabs;
  17. protected SerializedObject SerializedObject;
  18. #endregion
  19. [MenuItem("DashGame/LabelUtility")]
  20. protected static void ShowWindow()
  21. {
  22. Type inspectorType = Type.GetType("UnityEditor.InspectorWindow,UnityEditor.dll");
  23. LabelUtilityWindow window = GetWindow<LabelUtilityWindow>(inspectorType);
  24. window.titleContent = new GUIContent("LabelUtility");
  25. window.Show();
  26. }
  27. private void OnEnable()
  28. {
  29. Instance = InstanceManager.SearchInstance<LabelUtility>();
  30. SerializedObject = new SerializedObject(Instance);
  31. Script = SerializedObject.FindProperty("Script");
  32. Languages = SerializedObject.FindProperty("Languages");
  33. Prefabs = SerializedObject.FindProperty("Prefabs");
  34. }
  35. private void OnGUI()
  36. {
  37. SerializedObject.Update();
  38. EditorGUILayout.PropertyField(Script, new GUIContent("Script"));
  39. EditorGUILayout.PropertyField(Prefabs, new GUIContent("Prefabs"), true);
  40. EditorGUILayout.PropertyField(Languages, new GUIContent("Languages"), true);
  41. if (GUILayout.Button("ClearLabels"))
  42. {
  43. Instance.ClearLabels(true);
  44. }
  45. if (GUILayout.Button("CreateLabelFromPrefabs"))
  46. {
  47. Instance.CreateLabelFromPrefabs();
  48. }
  49. if (GUILayout.Button("ClearAndCreateLabelFromPrefabs"))
  50. {
  51. Instance.CreateLabelFromPrefabs();
  52. }
  53. if (GUILayout.Button("CreateLabelFromLanguage"))
  54. {
  55. Instance.CreateLabelFromLanguage();
  56. }
  57. if (GUILayout.Button("ClearAndCreateLabelFromLanguage"))
  58. {
  59. Instance.CreateLabelFromLanguage();
  60. }
  61. //if (GUILayout.Button("ReplaceLanguageLabels"))
  62. //{
  63. // Instance.ReplaceLanguageLabels();
  64. //}
  65. SerializedObject.ApplyModifiedProperties();
  66. }
  67. }