AssetBundleUtilityWindow.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. namespace assetBundleUtility
  2. {
  3. using System;
  4. using UnityEditor;
  5. using UnityEngine;
  6. public class AssetBundleUtilityWindow : EditorWindow
  7. {
  8. #region Config
  9. protected Vector2 ScrollPosition;
  10. protected GUIStyle TitleGUIStyle;
  11. protected AssetBundleUtility Instance;
  12. protected SerializedObject SerializedObject;
  13. protected SerializedProperty AssetBundleGroups;
  14. #endregion
  15. [MenuItem("DashGame/AssetBundleUtility")]
  16. protected static void ShowWindow()
  17. {
  18. Type inspectorType = Type.GetType("UnityEditor.InspectorWindow,UnityEditor.dll");
  19. AssetBundleUtilityWindow window = GetWindow<AssetBundleUtilityWindow>(inspectorType);
  20. window.titleContent = new GUIContent("AssetBundleUtility");
  21. window.Show();
  22. }
  23. private void OnEnable()
  24. {
  25. Instance = InstanceManager.SearchInstance<AssetBundleUtility>();
  26. SerializedObject = new SerializedObject(Instance);
  27. AssetBundleGroups = SerializedObject.FindProperty("AssetBundleGroups");
  28. TitleGUIStyle = new GUIStyle
  29. {
  30. fontSize = 20,
  31. alignment = TextAnchor.MiddleCenter,
  32. normal = { textColor = new Color(0.75f, 0.75f, 0.75f, 1) }
  33. };
  34. }
  35. private void OnGUI()
  36. {
  37. SerializedObject.Update();
  38. ScrollPosition = EditorGUILayout.BeginScrollView(ScrollPosition);
  39. EditorGUILayout.LabelField("AssetBundleUtility", TitleGUIStyle, GUILayout.Height(30));
  40. EditorGUILayout.PropertyField(AssetBundleGroups, new GUIContent(AssetBundleGroups.displayName), true);
  41. EditorGUILayout.EndScrollView();
  42. SerializedObject.ApplyModifiedProperties();
  43. }
  44. }
  45. }