-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' into polygon-tool
- Loading branch information
Showing
514 changed files
with
16,607 additions
and
4,984 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
66 changes: 66 additions & 0 deletions
66
osu.Game.Rulesets.Catch.Tests/Editor/TestSceneCatchEditorSaving.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. | ||
// See the LICENCE file in the repository root for full licence text. | ||
|
||
using System.Linq; | ||
using NUnit.Framework; | ||
using osu.Framework.Testing; | ||
using osu.Game.Beatmaps.ControlPoints; | ||
using osu.Game.Rulesets.Catch.Objects; | ||
using osu.Game.Rulesets.Catch.UI; | ||
using osu.Game.Tests.Visual; | ||
using osuTK; | ||
using osuTK.Input; | ||
|
||
namespace osu.Game.Rulesets.Catch.Tests.Editor | ||
{ | ||
public partial class TestSceneCatchEditorSaving : EditorSavingTestScene | ||
{ | ||
protected override Ruleset CreateRuleset() => new CatchRuleset(); | ||
|
||
[Test] | ||
public void TestCatchJuiceStreamTickCorrect() | ||
{ | ||
AddStep("enter timing mode", () => InputManager.Key(Key.F3)); | ||
AddStep("add timing point", () => EditorBeatmap.ControlPointInfo.Add(0, new TimingControlPoint())); | ||
AddStep("enter compose mode", () => InputManager.Key(Key.F1)); | ||
|
||
Vector2 startPoint = Vector2.Zero; | ||
float increment = 0; | ||
|
||
AddUntilStep("wait for playfield", () => this.ChildrenOfType<CatchPlayfield>().FirstOrDefault()?.IsLoaded == true); | ||
AddStep("move to centre", () => | ||
{ | ||
var playfield = this.ChildrenOfType<CatchPlayfield>().Single(); | ||
startPoint = playfield.ScreenSpaceDrawQuad.Centre + new Vector2(0, playfield.ScreenSpaceDrawQuad.Height / 3); | ||
increment = playfield.ScreenSpaceDrawQuad.Height / 10; | ||
InputManager.MoveMouseTo(startPoint); | ||
}); | ||
AddStep("choose juice stream placing tool", () => InputManager.Key(Key.Number3)); | ||
AddStep("start placement", () => InputManager.Click(MouseButton.Left)); | ||
|
||
AddStep("move to next", () => InputManager.MoveMouseTo(startPoint + new Vector2(2 * increment, -increment))); | ||
AddStep("add node", () => InputManager.Click(MouseButton.Left)); | ||
|
||
AddStep("move to next", () => InputManager.MoveMouseTo(startPoint + new Vector2(-2 * increment, -2 * increment))); | ||
AddStep("add node", () => InputManager.Click(MouseButton.Left)); | ||
|
||
AddStep("move to next", () => InputManager.MoveMouseTo(startPoint + new Vector2(0, -3 * increment))); | ||
AddStep("end placement", () => InputManager.Click(MouseButton.Right)); | ||
|
||
AddUntilStep("juice stream placed", () => EditorBeatmap.HitObjects, () => Has.Count.EqualTo(1)); | ||
|
||
int largeDropletCount = 0, tinyDropletCount = 0; | ||
AddStep("store droplet count", () => | ||
{ | ||
largeDropletCount = EditorBeatmap.HitObjects[0].NestedHitObjects.Count(t => t.GetType() == typeof(Droplet)); | ||
tinyDropletCount = EditorBeatmap.HitObjects[0].NestedHitObjects.Count(t => t.GetType() == typeof(TinyDroplet)); | ||
}); | ||
|
||
SaveEditor(); | ||
ReloadEditorToSameBeatmap(); | ||
|
||
AddAssert("large droplet count is the same", () => EditorBeatmap.HitObjects[0].NestedHitObjects.Count(t => t.GetType() == typeof(Droplet)), () => Is.EqualTo(largeDropletCount)); | ||
AddAssert("tiny droplet count is the same", () => EditorBeatmap.HitObjects[0].NestedHitObjects.Count(t => t.GetType() == typeof(TinyDroplet)), () => Is.EqualTo(tinyDropletCount)); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
36 changes: 36 additions & 0 deletions
36
osu.Game.Rulesets.Catch.Tests/TestSceneCatchReplayHandling.cs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. | ||
// See the LICENCE file in the repository root for full licence text. | ||
|
||
using System.Linq; | ||
using NUnit.Framework; | ||
using osu.Framework.Testing; | ||
using osu.Game.Rulesets.Catch.Beatmaps; | ||
using osu.Game.Rulesets.Catch.UI; | ||
using osu.Game.Scoring; | ||
using osu.Game.Tests.Visual; | ||
using osuTK.Input; | ||
|
||
namespace osu.Game.Rulesets.Catch.Tests | ||
{ | ||
public partial class TestSceneCatchReplayHandling : OsuManualInputManagerTestScene | ||
{ | ||
[Test] | ||
public void TestReplayDetach() | ||
{ | ||
DrawableCatchRuleset drawableRuleset = null!; | ||
float catcherPosition = 0; | ||
|
||
AddStep("create drawable ruleset", () => Child = drawableRuleset = new DrawableCatchRuleset(new CatchRuleset(), new CatchBeatmap(), [])); | ||
AddStep("attach replay", () => drawableRuleset.SetReplayScore(new Score())); | ||
AddStep("store catcher position", () => catcherPosition = drawableRuleset.ChildrenOfType<Catcher>().Single().X); | ||
AddStep("hold down left", () => InputManager.PressKey(Key.Left)); | ||
AddAssert("catcher didn't move", () => drawableRuleset.ChildrenOfType<Catcher>().Single().X, () => Is.EqualTo(catcherPosition)); | ||
AddStep("release left", () => InputManager.ReleaseKey(Key.Left)); | ||
|
||
AddStep("detach replay", () => drawableRuleset.SetReplayScore(null)); | ||
AddStep("hold down left", () => InputManager.PressKey(Key.Left)); | ||
AddUntilStep("catcher moved", () => drawableRuleset.ChildrenOfType<Catcher>().Single().X, () => Is.Not.EqualTo(catcherPosition)); | ||
AddStep("release left", () => InputManager.ReleaseKey(Key.Left)); | ||
} | ||
} | ||
} |
Oops, something went wrong.