public void Initialize() { if (treeViewState == null) { treeViewState = new TreeViewState(); } treeView = new CustomAssetImporterEditorWindowTreeView(treeViewState); horizontalState = new SplitterState(new float[] { position.width * 0.15f, position.width * 0.85f }, new int[] { 100, 250 }, new int[] { 200, 1000 }); if (audioImporterSettings == null) { audioImporterSettings = FileHelper.GetAudioImporter(); } if (textureImporterSettings == null) { textureImporterSettings = FileHelper.GetTextureImporter(); } if (modelImporterSettings == null) { modelImporterSettings = FileHelper.GetModelImporter(); } if (audioImporterEditorItem == null || audioImporterEditorItem.Data == null) { audioImporterEditorItem = new CustomAudioImporterSettingsEditorItem(audioImporterSettings); } if (textureImporterEditorItem == null || textureImporterEditorItem.Data == null) { textureImporterEditorItem = new CustomTextureImporterSettingsEditorItem(textureImporterSettings); } if (modelImporterEditorItem == null || modelImporterEditorItem.Data == null) { modelImporterEditorItem = new CustomModelImporterSettingsEditorItem(modelImporterSettings); } audioImporterEditorItem.Initialize(); textureImporterEditorItem.Initialize(); modelImporterEditorItem.Initialize(); Repaint(); IsInitialized = true; IsFirstGUI = true; }
public bool CheckCustomImporter(string assetPath) { var assetTargetPath = FileHelper.AssetPathToTargetPath(assetPath, Type); //UnityEngine.Debug.Log( Target + " " + assetTargetPath + " " + assetPath ); switch (Type) { case ImportTargetType.DirectoryPathRecursively: return(assetTargetPath.Contains(Target)); case ImportTargetType.DirectoryPath: case ImportTargetType.DirectoryName: case ImportTargetType.FilePath: case ImportTargetType.FileName: return(assetTargetPath.Equals(Target)); } return(false); }
private void Draw(TreeViewItem <T> item, Rect rect) { var showSettingRect = rect; showSettingRect.xMin += 5f; showSettingRect.xMax -= 5f; showSettingRect.yMin += 2f; showSettingRect.height = EditorGUIUtility.singleLineHeight; // directory Setting var directoryRect = showSettingRect; directoryRect.width = 100f; var type = ( ImportTargetType )EditorGUI.EnumPopup(directoryRect, item.data.Type); if (item.data.Type != type) { item.data.Target = FileHelper.TargetPathForType(item.data.Target, type); if (!FileHelper.IsTargetNameValid(item.data.Target, type)) { Debug.LogWarning("CustomAssetImporter: The importer target is invalid"); } item.data.Type = type; } var targetRect = showSettingRect; targetRect.xMin += 103f; item.data.Target = EditorGUI.TextField(targetRect, item.data.Target); //// drag drop process... too ugly :( { var preType = Event.current.type; if (isPreDragUpdate) { Event.current.type = EventType.DragUpdated; } if (isPreDragPerform) { Event.current.type = EventType.DragPerform; } var draggedTarget = FileHelper.GetDraggedAssetPath(Event.current, rect); if (!string.IsNullOrEmpty(draggedTarget)) { item.data.Target = FileHelper.TargetPathForType(draggedTarget, item.data.Type); } Event.current.type = preType; } showSettingRect.y += GUIHelper.Rects.NextItemY; // show Log var showLogToggle = showSettingRect; showLogToggle.width = 16f; item.data.IsLogger = EditorGUI.Toggle(showLogToggle, item.data.IsLogger); showLogToggle.width = 100f; showLogToggle.x += 16f; EditorGUI.LabelField(showLogToggle, "Show Log"); var logRect = showSettingRect; logRect.xMin += 103f; item.data.Log = EditorGUI.TextField(logRect, item.data.Log); EditorGUI.BeginChangeCheck(); item.editorItem.OnGUI(ref showSettingRect); if (EditorGUI.EndChangeCheck()) { changeHeightFlag = true; } }