void DrawAssetDispatcherConfig() { GUILayoutUtils.BeginContents(false); GUILayoutUtils.DrawProperty("Path:", AssetBundleUtility.AssetsPathToPackagePath(targetAssetPath), 300f, 80f); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("FilterType:", GUILayout.MaxWidth(80f)); var selectType = (AssetBundleDispatcherFilterType)EditorGUILayout.EnumPopup(filterType); if (selectType != filterType) { filterType = selectType; MarkChanged(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); var filtersCount = dispatcherConfig.CheckerFilters.Count; if (GUILayoutUtils.DrawSubHeader(0, "CheckerFilters:", inspectorSate, "CheckerFilters", filtersCount.ToString())) { DrawFilterTypesList(dispatcherConfig.CheckerFilters); } Color color = GUI.color; if (configChanged) { GUI.color = color * new Color(1, 1, 0.5f); } EditorGUILayout.Separator(); GUILayout.BeginHorizontal(); if (GUILayout.Button("Apply")) { Apply(); } GUI.color = new Color(1, 0.5f, 0.5f); if (GUILayout.Button("Remove")) { ConfirmRemove(); } GUI.color = color; GUILayout.EndHorizontal(); EditorGUILayout.Separator(); GUILayoutUtils.EndContents(false); }
void Initialize() { configChanged = false; filterType = AssetBundleDispatcherFilterType.Root; targetAssetPath = AssetDatabase.GetAssetPath(target); if (!AssetBundleUtility.IsPackagePath(targetAssetPath)) { return; } packagePath = AssetBundleUtility.AssetsPathToPackagePath(targetAssetPath); databaseAssetPath = AssetBundleInspectorUtils.AssetPathToDatabasePath(targetAssetPath); dispatcherConfig = AssetDatabase.LoadAssetAtPath <AssetBundleDispatcherConfig>(databaseAssetPath); if (dispatcherConfig != null) { dispatcherConfig.Load(); filterType = dispatcherConfig.Type; } }