private DragAndDropVisualMode HandleDragDropBetween(DragAndDropData data) { DragAndDropVisualMode visualMode = DragAndDropVisualMode.Copy;//Move; var parent = (data.args.parentItem as AssetBundleModel.BundleTreeItem); if (parent != null) { var variantFolder = parent.bundle as AssetBundleModel.BundleVariantFolderInfo; if (variantFolder != null) { return(DragAndDropVisualMode.Rejected); } if (data.args.performDrop) { var folder = parent.bundle as AssetBundleModel.BundleFolderConcreteInfo; if (folder != null) { if (data.draggedNodes != null) { AssetBundleModel.Model.HandleBundleReparent(data.draggedNodes, folder); Reload(); } else if (data.paths != null) { DragPathsToNewSpace(data.paths, folder); } } } } return(visualMode); }
private DragAndDropVisualMode HandleDragDropUpon(DragAndDropData data) { DragAndDropVisualMode visualMode = DragAndDropVisualMode.Copy; var parent = (data.args.parentItem as GraphCollectionTreeItem); if (parent != null) { if (data.args.performDrop) { if (data.FromDetailTree) { var guids = data.detailDraggedNodes.Select(n => n.GraphGuid).ToList(); parent.Collection.AddGraphRange(guids); } else { parent.Collection.AddGraphRange(data.graphGuids); } m_controller.UpdateSelectedGraphCollection(parent.Collection); SetSelection(new int[] { parent.id }); BatchBuildConfig.SetConfigDirty(); } } return(visualMode); }
private DragAndDropVisualMode HandleDragDropBetween(DragAndDropData data) { DragAndDropVisualMode visualMode = DragAndDropVisualMode.Move; var parent = (data.args.parentItem as GraphCollectionTreeItem); if (parent != null) { if (data.args.performDrop) { var collection = BatchBuildConfig.GetConfig().GraphCollections; collection.Remove(data.draggedNode.Collection); if (data.args.insertAtIndex < collection.Count) { collection.Insert(data.args.insertAtIndex, data.draggedNode.Collection); } else { collection.Add(data.draggedNode.Collection); } BatchBuildConfig.SetConfigDirty(); ReloadAndSelect(); } } return(visualMode); }
private DragAndDropVisualMode HandleDragDropUpon(DragAndDropData data) { DragAndDropVisualMode visualMode = DragAndDropVisualMode.Move; var targetDataBundle = data.targetNode.bundle as AssetBundleModel.BundleDataInfo; if (targetDataBundle != null) { if (targetDataBundle.IsSceneBundle) { visualMode = DragAndDropVisualMode.Rejected; } else { if (data.hasScene || data.hasBundleFolder) { return(DragAndDropVisualMode.Rejected); } else { if (data.args.performDrop) { if (data.draggedNodes != null) { AssetBundleModel.Model.HandleBundleMerge(data.draggedNodes, targetDataBundle); ReloadAndSelect(targetDataBundle.NameHashCode, false); } else if (data.paths != null) { AssetBundleModel.Model.MoveAssetToBundle(data.paths, targetDataBundle.m_name.Name); AssetBundleModel.Model.ExecuteAssetMove(); ReloadAndSelect(targetDataBundle.NameHashCode, false); } } } } } else { var folder = data.targetNode.bundle as AssetBundleModel.BundleFolderInfo; if (folder != null && data.args.performDrop) { if (data.draggedNodes != null) { AssetBundleModel.Model.HandleBundleReparent(data.draggedNodes, folder); Reload(); } else if (data.paths != null) { DragPathsToNewSpace(data.paths, folder, data.hasScene); } } } return(visualMode); }
private bool CheckDropInDepsFolder(DragAndDropArgs args) { DragAndDropData data = new DragAndDropData(args); var parent = (data.args.parentItem as AssetBundleModel.BundleTreeItem); if (parent != null) { if (parent.bundle.m_Name.bundleName.StartsWith(AssetBundleConfig.AssetBundlesDepsDir)) { return(true); } } return(false); }
protected override DragAndDropVisualMode HandleDragAndDrop(DragAndDropArgs args) { DragAndDropVisualMode visualMode = DragAndDropVisualMode.None; DragAndDropData data = new DragAndDropData(args); if (AssetBundleModel.Model.DataSource.IsReadOnly()) { return(DragAndDropVisualMode.Rejected); } if ((data.hasScene && data.hasNonScene) || (data.hasVariantChild)) { return(DragAndDropVisualMode.Rejected); } switch (args.dragAndDropPosition) { case DragAndDropPosition.UponItem: visualMode = HandleDragDropUpon(data); break; case DragAndDropPosition.BetweenItems: visualMode = HandleDragDropBetween(data); break; case DragAndDropPosition.OutsideItems: if (data.draggedNodes != null) { visualMode = DragAndDropVisualMode.Copy; if (data.args.performDrop) { AssetBundleModel.Model.HandleBundleReparent(data.draggedNodes, null); Reload(); } } else if (data.paths != null) { visualMode = DragAndDropVisualMode.Copy; if (data.args.performDrop) { DragPathsToNewSpace(data.paths, null); } } break; } return(visualMode); }
private DragAndDropVisualMode HandleDragDropBetween(DragAndDropData data) { DragAndDropVisualMode visualMode = DragAndDropVisualMode.Rejected; var parent = (data.args.parentItem as GraphCollectionDetailTreeItem); if (parent != null && (data.DraggedNode || data.DraggedGraphs)) { visualMode = DragAndDropVisualMode.Move; if (data.args.performDrop) { var collection = m_controller.CurrentCollection; List <string> guids = null; if (data.DraggedNode) { guids = data.draggedNodes.Select(n => n.GraphGuid).ToList(); } else { guids = data.graphGuids; } collection.RemoveGraphRange(guids); if (data.args.insertAtIndex < collection.GraphGUIDs.Count) { collection.InsertGraphRange(data.args.insertAtIndex, guids); } else { collection.AddGraphRange(guids); } BatchBuildConfig.SetConfigDirty(); Reload(); } } return(visualMode); }
protected override DragAndDropVisualMode HandleDragAndDrop(DragAndDropArgs args) { DragAndDropVisualMode visualMode = DragAndDropVisualMode.None; DragAndDropData data = new DragAndDropData(args); switch (args.dragAndDropPosition) { case DragAndDropPosition.UponItem: if (data.CanAcceptDropUpon) { visualMode = HandleDragDropUpon(data); } else { visualMode = DragAndDropVisualMode.Rejected; } break; case DragAndDropPosition.BetweenItems: if (data.CanAcceptDropBetween) { visualMode = HandleDragDropBetween(data); } else { visualMode = DragAndDropVisualMode.Rejected; } break; case DragAndDropPosition.OutsideItems: if (data.CanAcceptDropOutsideItems) { visualMode = HandleDragDropOutsideItems(data); } else { visualMode = DragAndDropVisualMode.Rejected; } break; } return(visualMode); }
private DragAndDropVisualMode HandleDragAndDropUpon(DragAndDropData data) { var visualMode = DragAndDropVisualMode.Copy; var targetDataBundle = data.targetNode.BundleData as BundleDataInfo; if (targetDataBundle != null) { if (targetDataBundle.isSceneBundle) { visualMode = DragAndDropVisualMode.Rejected; } else { if (data.hasScene && !targetDataBundle.IsEmpty()) { visualMode = DragAndDropVisualMode.Rejected; } else { if (data.args.performDrop) { if (data.draggedNodes != null) { BundleModel.HandleBundleMerge(data.draggedNodes, targetDataBundle); ReloadAndSelect(targetDataBundle.nameHashCode, false); } else if (data.paths != null) { BundleModel.MoveAssetToBundle(data.paths, targetDataBundle.m_Name); ReloadAndSelect(targetDataBundle.nameHashCode, false); } } } } } else { var root = data.targetNode.BundleData as BundleDataInfo; } return(visualMode); }
private DragAndDropVisualMode HandleDragDropOutsideItems(DragAndDropData data) { DragAndDropVisualMode visualMode = DragAndDropVisualMode.Copy; if (data.args.performDrop) { var guid = data.graphGuids [0]; var graphName = Path.GetFileNameWithoutExtension(AssetDatabase.GUIDToAssetPath(guid)); var c = BatchBuildConfig.CreateNewGraphCollection(graphName); c.AddGraphRange(data.graphGuids); m_controller.UpdateSelectedGraphCollection(c); m_controller.Refresh(); BatchBuildConfig.SetConfigDirty(); } return(visualMode); }
protected override DragAndDropVisualMode HandleDragAndDrop(DragAndDropArgs args) { var visualMode = DragAndDropVisualMode.None; var data = new DragAndDropData(args); switch (args.dragAndDropPosition) { case DragAndDropPosition.UponItem: visualMode = HandleDragAndDropUpon(data); break; case DragAndDropPosition.BetweenItems: visualMode = HandleDragAndDropBetween(data); break; case DragAndDropPosition.OutsideItems: if (data.draggedNodes != null) { visualMode = DragAndDropVisualMode.Copy; if (data.args.performDrop) { // TODO ReParent Reload(); } } else if (data.paths != null) { visualMode = DragAndDropVisualMode.Copy; if (data.args.performDrop) { DragPathsToNewSpace(data.paths, null, data.hasScene); } } break; default: throw new ArgumentOutOfRangeException(); } return(visualMode); }
private DragAndDropVisualMode HandleDragDropOutsideItems(DragAndDropData data) { DragAndDropVisualMode visualMode = DragAndDropVisualMode.Rejected; if (data.DraggedGraphs && m_controller.CurrentCollection != null) { visualMode = DragAndDropVisualMode.Copy; if (data.args.performDrop) { var collection = m_controller.CurrentCollection; collection.AddGraphRange(data.graphGuids); BatchBuildConfig.SetConfigDirty(); Reload(); } } return(visualMode); }
private DragAndDropVisualMode HandleDragDropBetween(DragAndDropData data) { DragAndDropVisualMode visualMode = DragAndDropVisualMode.Rejected; var parent = (data.args.parentItem as BuildTargetTreeItem); if (parent != null && data.DraggedNode) { visualMode = DragAndDropVisualMode.Move; if (data.args.performDrop) { var targets = BatchBuildConfig.GetConfig().BuildTargets; var movingTargets = data.draggedNodes.Select(n => n.Target).ToList(); foreach (var t in movingTargets) { targets.Remove(t); } if (data.args.insertAtIndex < targets.Count) { targets.InsertRange(data.args.insertAtIndex, movingTargets); } else { targets.AddRange(movingTargets); } BatchBuildConfig.SetConfigDirty(); Reload(); } } return(visualMode); }
protected override DragAndDropVisualMode HandleDragAndDrop(DragAndDropArgs args) { DragAndDropVisualMode visualMode = DragAndDropVisualMode.None; DragAndDropData data = new DragAndDropData(args); if (data.hasScene && data.hasNonScene) { return(DragAndDropVisualMode.Rejected); } switch (args.dragAndDropPosition) { case DragAndDropPosition.UponItem: visualMode = HandleDragDropUpon(data); break; case DragAndDropPosition.BetweenItems: visualMode = HandleDragDropBetween(data); break; case DragAndDropPosition.OutsideItems: if (data.draggedNodes != null) { visualMode = DragAndDropVisualMode.Rejected; } else if (data.paths != null) { visualMode = DragAndDropVisualMode.Generic; if (data.args.performDrop) { DragPathsToNewSpace(data.paths, null, data.hasScene); } } break; } return(visualMode); }
private DragAndDropVisualMode HandleDragDropUpon(DragAndDropData data) { DragAndDropVisualMode visualMode = DragAndDropVisualMode.Copy;//Move; var targetDataBundle = data.targetNode.Bundle as AssetBundleModel.BundleDataInfo; if (targetDataBundle != null) { if (targetDataBundle.isSceneBundle) { if (data.hasNonScene) { return(DragAndDropVisualMode.Rejected); } } else { if (data.hasBundleFolder) { return(DragAndDropVisualMode.Rejected); } else if (data.hasScene && !targetDataBundle.IsEmpty()) { return(DragAndDropVisualMode.Rejected); } } if (data.args.performDrop) { if (data.draggedNodes != null) { AssetBundleModel.Model.HandleBundleMerge(data.draggedNodes, targetDataBundle); ReloadAndSelect(targetDataBundle.NameHashCode, false); } else if (data.paths != null) { AssetBundleModel.Model.MoveAssetToBundle(data.paths, targetDataBundle.Name.BundleName, targetDataBundle.Name.Variant); AssetBundleModel.Model.ExecuteAssetMove(); ReloadAndSelect(targetDataBundle.NameHashCode, false); } } } else { var folder = data.targetNode.Bundle as AssetBundleModel.BundleFolderInfo; if (folder != null) { if (data.args.performDrop) { if (data.draggedNodes != null) { AssetBundleModel.Model.HandleBundleReparent(data.draggedNodes, folder); Reload(); } else if (data.paths != null) { DragPathsToNewSpace(data.paths, folder); } } } else { visualMode = DragAndDropVisualMode.Rejected; //must be a variantfolder } } return(visualMode); }
private DragAndDropVisualMode HandleDragAndDropBetween(DragAndDropData data) { return(DragAndDropVisualMode.Move); }