protected override void PerformCut() { base.PerformCut(); Copy(); EditorBeatmap.RemoveRange(EditorBeatmap.SelectedHitObjects.ToArray()); }
public void TestSaveChangesBeforeGameplayTest() { AddStep("delete all but first object", () => EditorBeatmap.RemoveRange(EditorBeatmap.HitObjects.Skip(1).ToList())); // bit of a hack to ensure this test can be ran multiple times without running into UNIQUE constraint failures AddStep("set unique difficulty name", () => EditorBeatmap.BeatmapInfo.DifficultyName = Guid.NewGuid().ToString()); AddStep("click test gameplay button", () => { var button = Editor.ChildrenOfType <TestGameplayButton>().Single(); InputManager.MoveMouseTo(button); InputManager.Click(MouseButton.Left); }); AddUntilStep("save prompt shown", () => DialogOverlay.CurrentDialog is SaveBeforeGameplayTestDialog); AddStep("save changes", () => DialogOverlay.CurrentDialog.PerformOkAction()); EditorPlayer editorPlayer = null; AddUntilStep("player pushed", () => (editorPlayer = Stack.CurrentScreen as EditorPlayer) != null); AddAssert("beatmap has 1 object", () => editorPlayer.Beatmap.Value.Beatmap.HitObjects.Count == 1); AddUntilStep("wait for return to editor", () => Stack.CurrentScreen is Editor); AddAssert("track stopped", () => !Beatmap.Value.Track.IsRunning); }
public void TestCancelGameplayTestWithUnsavedChanges() { AddStep("delete all but first object", () => EditorBeatmap.RemoveRange(EditorBeatmap.HitObjects.Skip(1).ToList())); AddStep("click test gameplay button", () => { var button = Editor.ChildrenOfType <TestGameplayButton>().Single(); InputManager.MoveMouseTo(button); InputManager.Click(MouseButton.Left); }); AddUntilStep("save prompt shown", () => DialogOverlay.CurrentDialog is SaveBeforeGameplayTestDialog); AddStep("dismiss prompt", () => { var button = DialogOverlay.CurrentDialog.Buttons.Last(); InputManager.MoveMouseTo(button); InputManager.Click(MouseButton.Left); }); AddWaitStep("wait some", 3); AddAssert("stayed in editor", () => Stack.CurrentScreen is Editor); }
private void deleteSelected() { EditorBeatmap.RemoveRange(selectedBlueprints.Select(b => b.HitObject)); }
private void deleteSelected() { ChangeHandler?.BeginChange(); EditorBeatmap?.RemoveRange(selectedBlueprints.Select(b => b.HitObject)); ChangeHandler?.EndChange(); }