private void load() { selectionBox = composer.CreateSelectionBox(); selectionBox.DeselectAll = deselectAll; var dragBox = new DragBox(select); dragBox.DragEnd += () => selectionBox.UpdateVisibility(); InternalChildren = new[] { dragBox, selectionBox, selectionBlueprints = new SelectionBlueprintContainer { RelativeSizeAxes = Axes.Both }, placementBlueprintContainer = new Container <PlacementBlueprint> { RelativeSizeAxes = Axes.Both }, dragBox.CreateProxy() }; foreach (var obj in composer.HitObjects) { AddBlueprintFor(obj); } }
private void load() { SelectionHandler = CreateSelectionHandler(); SelectionHandler.DeselectAll = deselectAll; AddRangeInternal(new[] { DragBox = CreateDragBox(selectBlueprintsFromDragRectangle), SelectionHandler, SelectionBlueprints = CreateSelectionBlueprintContainer(), SelectionHandler.CreateProxy(), DragBox.CreateProxy().With(p => p.Depth = float.MinValue) }); }
private void load() { SelectionHandler = CreateSelectionHandler(); SelectionHandler.DeselectAll = deselectAll; AddRangeInternal(new[] { DragBox = CreateDragBox(selectBlueprintsFromDragRectangle), SelectionHandler, SelectionBlueprints = CreateSelectionBlueprintContainer(), SelectionHandler.CreateProxy(), DragBox.CreateProxy().With(p => p.Depth = float.MinValue) }); // For non-pooled rulesets, hitobjects are already present in the playfield which allows the blueprints to be loaded in the async context. if (Composer != null) { foreach (var obj in Composer.HitObjects) { addBlueprintFor(obj.HitObject); } } selectedHitObjects.BindTo(Beatmap.SelectedHitObjects); selectedHitObjects.CollectionChanged += (selectedObjects, args) => { switch (args.Action) { case NotifyCollectionChangedAction.Add: foreach (var o in args.NewItems) { SelectionBlueprints.FirstOrDefault(b => b.HitObject == o)?.Select(); } break; case NotifyCollectionChangedAction.Remove: foreach (var o in args.OldItems) { SelectionBlueprints.FirstOrDefault(b => b.HitObject == o)?.Deselect(); } break; } }; }
private void load() { selectionHandler = CreateSelectionHandler(); selectionHandler.DeselectAll = deselectAll; AddRangeInternal(new[] { DragBox = CreateDragBox(select), selectionHandler, selectionBlueprints = new SelectionBlueprintContainer { RelativeSizeAxes = Axes.Both }, DragBox.CreateProxy().With(p => p.Depth = float.MinValue) }); foreach (var obj in beatmap.HitObjects) { AddBlueprintFor(obj); } }
private void load() { SelectionHandler = CreateSelectionHandler(); SelectionHandler.DeselectAll = deselectAll; AddRangeInternal(new[] { DragBox = CreateDragBox(selectBlueprintsFromDragRectangle), SelectionHandler, SelectionBlueprints = CreateSelectionBlueprintContainer(), SelectionHandler.CreateProxy(), DragBox.CreateProxy().With(p => p.Depth = float.MinValue) }); foreach (var obj in Beatmap.HitObjects) { AddBlueprintFor(obj); } selectedHitObjects.BindTo(Beatmap.SelectedHitObjects); selectedHitObjects.CollectionChanged += (selectedObjects, args) => { switch (args.Action) { case NotifyCollectionChangedAction.Add: foreach (var o in args.NewItems) { SelectionBlueprints.FirstOrDefault(b => b.HitObject == o)?.Select(); } break; case NotifyCollectionChangedAction.Remove: foreach (var o in args.OldItems) { SelectionBlueprints.FirstOrDefault(b => b.HitObject == o)?.Deselect(); } break; } }; }
private void load() { selectionHandler = CreateSelectionHandler(); selectionHandler.DeselectAll = deselectAll; AddRangeInternal(new[] { DragBox = CreateDragBox(select), selectionHandler, selectionBlueprints = CreateSelectionBlueprintContainer(), DragBox.CreateProxy().With(p => p.Depth = float.MinValue) }); foreach (var obj in beatmap.HitObjects) { AddBlueprintFor(obj); } selectedHitObjects.BindTo(beatmap.SelectedHitObjects); selectedHitObjects.ItemsAdded += objects => { foreach (var o in objects) { selectionBlueprints.FirstOrDefault(b => b.HitObject == o)?.Select(); } SelectionChanged?.Invoke(selectedHitObjects); }; selectedHitObjects.ItemsRemoved += objects => { foreach (var o in objects) { selectionBlueprints.FirstOrDefault(b => b.HitObject == o)?.Deselect(); } SelectionChanged?.Invoke(selectedHitObjects); }; }
private void load() { selectionHandler = composer.CreateSelectionHandler(); selectionHandler.DeselectAll = deselectAll; InternalChildren = new[] { dragBox = new DragBox(select), selectionHandler, selectionBlueprints = new SelectionBlueprintContainer { RelativeSizeAxes = Axes.Both }, placementBlueprintContainer = new Container <PlacementBlueprint> { RelativeSizeAxes = Axes.Both }, dragBox.CreateProxy() }; foreach (var obj in composer.HitObjects) { addBlueprintFor(obj); } }