1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-18 19:43:03 +08:00
Commit Graph

709 Commits

Author SHA1 Message Date
Dean Herbert
625890381f Update ComboCounter components to use DI to attach data source 2021-05-03 17:43:00 +09:00
Dean Herbert
a1e64f4e3c Use the existing toolbox design 2021-04-30 14:41:06 +09:00
Dean Herbert
ae9d1dc40b Add component list to main editor interface and enable basic placement 2021-04-30 13:10:42 +09:00
Dean Herbert
6442fb819f Split out component from test scene and fix SongProgress 2021-04-30 13:10:42 +09:00
Dean Herbert
4770a64709 Add proof of concept components list 2021-04-30 13:10:42 +09:00
Dean Herbert
de73ac7cec Allow skin editor to be invoked from any context
This is kind of how I see things working going forward, where the editor
can be applied to anything in the game which supports it (ie. a results
screen, gameplay screen, etc.) and it will immediately allow changing
the interface.

This adds a test scene which shows this working with gameplay.
2021-04-29 16:12:15 +09:00
Dean Herbert
74c6fdc4b8 Add DrawableRuleset to the skin editor test to get a hit error meter to display 2021-04-29 16:12:15 +09:00
Dean Herbert
fd587a82ff Replace abstract class with interface, attached to the actual components (not skinnable wrapper) 2021-04-29 16:12:15 +09:00
Dean Herbert
defa350aa7 Set defaults on SkinnableHUDComponent to cancel out relative size default
Specifying locally on each HUD component looks to make more sense.
2021-04-29 16:12:15 +09:00
Dean Herbert
1cb8fc9a24 Extract editor classes out of test namespace and add anchor support 2021-04-29 16:12:15 +09:00
Dean Herbert
74fb7cd180 Extract storable attributes to bindables 2021-04-29 16:12:15 +09:00
Dean Herbert
99b428ee4b Add very basic skin editor test 2021-04-29 16:12:14 +09:00
Dean Herbert
fca173225a Refactor editor selection/blueprint components to be generic 2021-04-29 16:12:14 +09:00
Dean Herbert
2d17219c8f Setup basic test and classes for scale adjustment 2021-04-29 16:12:14 +09:00
Dean Herbert
120fb8974d Combine more instances of test player IDs 2021-04-26 17:22:16 +09:00
Dean Herbert
daafa41dc1
Merge branch 'master' into fix-initial-spectator-state-callback 2021-04-22 16:22:04 +09:00
smoogipoo
e78ef05fcf Merge branch 'gcc-abstraction' into multiplayer-spectator-screen 2021-04-21 17:11:14 +09:00
smoogipoo
156a518068 Merge branch 'master' into fix-initial-spectator-state-callback 2021-04-20 21:16:05 +09:00
smoogipoo
c5d6b6ea8d Fix tests failing intermittently
This was due to this code happening in UpdateAfterChildren(), after the
GCC has processed one frame. During this time, the clock could have
advanced an arbitrary amount.

The cause of this is the removal of the Task.Run() to set the clock in
Restart() (now called Reset()) which changed the timing, so it only worked before due to pure
luck.
2021-04-20 18:41:09 +09:00
smoogipoo
80473a356e Merge branch 'fix-pre-seek-sample-lifetime' into gcc-abstraction 2021-04-20 17:27:01 +09:00
smoogipoo
c12848ce4d Apply fixes to tests 2021-04-19 17:02:59 +09:00
Christine Chen
fd1241cc85 Added tests
New tests:
- storyboard ending during the failing animation
- showResults = false
- storyboard ending before score processor completion

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-18 23:26:50 -04:00
Christine Chen
98460c8feb Rename IStoryboardElementHasDuration, remove unnecessary step in tests, add Duration field 2021-04-18 20:20:14 -04:00
Christine Chen
7b1d40db7d Remove redundant string interpolation 2021-04-17 22:13:28 -04:00
Christine Chen
e9f8fa64b8 Added a test for toggling the storyboard after the map is loaded 2021-04-17 21:49:29 -04:00
Christine Chen
7f5b1e84a1 Update TestSceneStoryboardWithOutro.cs
- Construct storyboard in CreateWorkingBeatmap()
- Use GameplayClockContainer.GameplayClock.CurrentTime
- Remove unnecessary lines
2021-04-17 13:57:32 -04:00
smoogipoo
5e82f40d67 Merge branch 'master' into gcc-abstraction 2021-04-16 20:14:53 +09:00
smoogipoo
65a6f9f8a4 Merge branch 'fix-initial-spectator-state-callback' into multiplayer-spectator-screen 2021-04-16 18:26:46 +09:00
smoogipoo
46d2181d42 Remove now unnecessary (duplicating) test 2021-04-16 18:21:56 +09:00
smoogipoo
377e5ce6b3 Fix test incorrect sending state too often 2021-04-16 18:21:35 +09:00
smoogipoo
ca74f413cd Change to explicit method instead 2021-04-16 17:31:02 +09:00
smoogipoo
5652490d61 Fix OnUserBeganPlaying not being invoked if already watching 2021-04-16 14:11:55 +09:00
Christine Chen
b15838b220 Move storyboard outro logic to DrawableStoryboard 2021-04-16 00:59:10 -04:00
Christine Chen
45c2b72a25
Merge branch 'master' into play-storyboard-outro 2021-04-15 15:11:35 -04:00
Christine Chen
25b8c2f257 Allow skipping storyboard outro
Reuses SkipOverlay by calculating the endtime of the storyboard and using that as a "start point". Upon skipping the outro the score is instantly shown.
When the end of the storyboard is reached the score screen automatically shows up. If the player holds ESC (pause) during the outro, the score is displayed

The storyboard endtime is calculated by getting the latest endtime of the storyboard's elements, or simply returning 0 if there is no storyboard.

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-15 13:20:40 -04:00
Dan Balasescu
ac8e462d32
Merge branch 'master' into refactor-framed-replay-input-hander 2021-04-15 21:48:58 +09:00
Dean Herbert
5b06a68b93
Merge pull request #12330 from Cublibre/master
Send a warning notification if device is unplugged and at low battery
2021-04-15 19:21:04 +09:00
Dean Herbert
346e36d32a Make Mod.Description abstract and add missing descriptions 2021-04-15 14:36:26 +09:00
smoogipoo
1aa36818df Abstractify GameplayClockContainer 2021-04-14 17:47:11 +09:00
Christine Chen
f66306a81a Remove IsLowBattery 2021-04-12 11:15:24 -04:00
Christine Chen
43b97fe0ad Refactor PowerStatus (now called BatteryInfo) 2021-04-12 10:52:52 -04:00
ekrctb
359fae895f Rename property 2021-04-12 18:50:25 +09:00
ekrctb
e19e8ff2a3 Rewrite FramedReplayInputHandler for robustness
This commit changes the semantics of `CurrentFrame` and `NextFrame` of the class.
The ordering of `NextFrame.Time` and `CurrentFrame.Time` was dependent on the current direction.
Now, it should always satisfy `CurrentFrame.Time <= CurrentTime <= NextFrame.Time` except at the start/end.
This change, however, doesn't break existing deriving classes if the template code pattern usage of interpolation is used.
The deriving class code can be simplified due to the elimination of nullable types. I didn't include those changes in this commit.

I removed `StreamingFramedReplayInputHandlerTest` for now, as it is almost-duplicate of `FramedReplayInputHandlerTest`. I'll include more tests in later commits.

This commit fixes #6150.
2021-04-12 16:18:11 +09:00
ekrctb
d6d8ea5b6b Throw when getting a frame of an empty replay 2021-04-12 11:17:56 +09:00
Salman Ahmed
cb947a3b27 Add expected output in test case rather than determining internally 2021-04-11 13:18:25 -04:00
Salman Ahmed
1fd4cb8963
Merge branch 'master' into master 2021-04-11 10:19:16 +03:00
Christine Chen
08311abc5e Remove setters, cache CreatePowerStatus() and use a dummy LocalPowerStatus class in test scene 2021-04-10 00:00:21 -04:00
Christine Chen
59d13b0dd3 Fixed indentation
sorry about the style fixes... I'm using JetBrains Rider from now on.
2021-04-08 21:53:42 -04:00
Christine Chen
6b6a71d3c3 trim whitespace 2021-04-08 20:39:17 -04:00
Christine Chen
493c095535 Fixed code style 2021-04-08 20:28:23 -04:00
Christine Chen
6bccb3aab6 Use DI to implement battery detection, add BatteryCutoff property
- Removed the Xamarin.Essentials package from osu.Game and added it to osu.iOS and osu.Android only.
- iOS and Android implementations use Xamarin.Essentials.Battery, while the Desktop implementation
only returns 100% battery for now.
- Added a BatteryCutoff property to PowerStatus so it can be different for each platform (default 20%, 25% on iOS)
2021-04-08 19:55:11 -04:00
Dean Herbert
8aff53172d Remove necessity for nested PassThroughInputManger 2021-04-08 15:18:31 +09:00
Christine Chen
0a6baf670e Send a warning notification if device is unplugged and low battery
- Uses Xamarin.Essentials in osu.Game.PlayerLoader to check battery level
- Encapsulated battery checking in the public BatteryManager class so battery level and plugged in status can be accessed and edited in TestPlayerLoader
- When checking battery level, catch NotImplementedException thrown by Xamarin.Essentials.Battery on non-mobile platforms
- Added visual unit tests for battery notification
  To mock battery status and level, we had to define a batteryManager object in TestPlayerLoader and add a new function ResetPlayerWithBattery()

Co-Authored-By: Marlina José <marlina@umich.edu>
2021-04-07 15:56:50 -04:00
Dean Herbert
beebdb0734 Clean up implementation 2021-04-05 22:30:51 +09:00
smoogipoo
c3c7c18549 Fix tests 2021-04-01 23:48:26 +09:00
smoogipoo
9e95441aa6 Rename Spectator -> SoloSpectator 2021-04-01 22:08:52 +09:00
Bartłomiej Dach
aec859b4d1 Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-03-18 19:51:46 +01:00
smoogipoo
7fa5fd5647 Update usages of config with framework changes 2021-03-17 16:10:16 +09:00
Dean Herbert
a5b3ac7ef8 Add failing test covering alpha commands proceeding non-alpha (but ignored) commands 2021-03-09 15:54:11 +09:00
smoogipoo
ee6a94273d Merge branch 'master' into fix-unsafe-skinnable-sample-play 2021-02-22 18:31:27 +09:00
Salman Ahmed
6bac83964a Merge branch 'master' into fix-pofl-on-cooldown 2021-02-22 10:03:27 +03:00
Dean Herbert
d2ec151c67 Add failing test for pausing when pause support is disabled 2021-02-20 14:20:13 +09:00
Salman Ahmed
f6c279ab00 Add assert ensuring player resumed properly 2021-02-19 11:45:45 +03:00
Salman Ahmed
fe5e45ea81 Move gameplay cursor outside instead and fix potential failure 2021-02-19 11:43:33 +03:00
Dean Herbert
52ebe34347 Update TestScenePause exit from fail test to actually fail 2021-02-19 17:26:26 +09:00
Dean Herbert
4c214b74ce Merge branch 'master' into fix-error-exit-during-results-transition 2021-02-19 17:13:55 +09:00
Salman Ahmed
772471a6d8 Add failing test case 2021-02-19 10:46:31 +03:00
Dean Herbert
00574a5288 Use ISample everywhere in Skin GetSample lookup path 2021-02-18 18:32:28 +09:00
Dean Herbert
2e646882fa Merge branch 'master' into non-concurrent-sample-playback 2021-02-15 21:22:21 +09:00
Dean Herbert
9ad38ab20e Move HubClientConnector retrieval to IAPIProvider 2021-02-15 16:43:56 +09:00
Dean Herbert
f664fca0dd Tidy up tests (and remove duplicate with new call logic) 2021-02-15 16:11:17 +09:00
Dean Herbert
4f264758a4 Add test coverage of pause from resume overlay 2021-02-15 15:57:36 +09:00
smoogipoo
c6ed3efa4a Merge branch 'master' into non-concurrent-sample-playback 2021-02-15 14:47:32 +09:00
Dean Herbert
25f5120fdf Add failing test coverage of user pausing or quick exiting during cooldown 2021-02-15 14:36:17 +09:00
Dean Herbert
a4dc544235 Refactor some shared code in TestScenePause 2021-02-15 14:24:08 +09:00
Dan Balasescu
34e600464b
Merge branch 'master' into abstract-hub-connection 2021-02-15 13:53:54 +09:00
smoogipoo
d3f0c0730d Merge branch 'master' into non-concurrent-sample-playback 2021-02-12 17:22:15 +09:00
Salman Ahmed
d3c1b47592 Replace nullable API with null connector instead 2021-02-11 12:34:39 +03:00
Dean Herbert
94f35825dd Update test to cover changed exit/pause logic
I think this makes more sense?
2021-02-09 17:29:30 +09:00
Salman Ahmed
a0ead38496 Prevent test spectator clients from attempting hub connections 2021-02-09 08:02:51 +03:00
Salman Ahmed
f04d6d5e5e Update hub clients with changes to connecotr 2021-02-09 08:02:32 +03:00
Salman Ahmed
f76f92515e Clean up spectator streaming client with new hub connector 2021-02-09 02:15:56 +03:00
Bartłomiej Dach
68c20a2a37 Allow autoplay score generation to access mod list 2021-02-07 18:35:34 +01:00
Mysfit
304264046b Added tests. 2021-01-24 17:46:54 -05:00
Bartłomiej Dach
7abe33ad0e Add failing test case 2021-01-21 00:04:15 +01:00
smoogipoo
8ffbcc9860 Fix test failures and general discrepancies 2021-01-20 14:05:35 +09:00
smoogipoo
de9d075f94 Initial sample + samplechannel rework 2021-01-19 17:11:40 +09:00
Dean Herbert
d023ad8ad1 Remove assert messages 2021-01-15 15:18:29 +09:00
Dean Herbert
51255033e2 Update some missed usages of KeyBindingContainer in tests 2021-01-15 14:57:01 +09:00
Roman Kapustin
0ea4e221b2 Merge branch 'master' into net5.0 2021-01-14 14:02:51 +03:00
mcendu
17abe90c27 move SkinnableHealthDisplay
Similar components are in osu.Game.Screens.Play.HUD while this is not
2020-12-31 20:23:13 +08:00
Dean Herbert
92d74a9343 Fix potential nullref in test scene 2020-12-28 20:48:14 +09:00
Dean Herbert
6254907ef9 Move multiplayer leaderboard test to correct namespace 2020-12-28 20:31:08 +09:00
Dean Herbert
966a2151e3 Ensure the previous leaderboard is removed 2020-12-26 17:55:24 +09:00
Dean Herbert
2599e95335 Add test coverage 2020-12-26 12:11:19 +09:00
Dean Herbert
ff57562956 Fix multiplayer leaderboard not unsubscribing from quit users 2020-12-26 11:35:31 +09:00
Dean Herbert
fa14438671
Merge pull request #11285 from peppy/resort-leaderboard-less
Re-sort the leaderboard order a maximum of once a second
2020-12-25 00:05:13 +09:00
Dean Herbert
d0e8347968 Change asserts into until steps 2020-12-24 22:28:25 +09:00
Dean Herbert
eb795a2127 Move all endpoint information to a configuration class 2020-12-24 17:58:38 +09:00
Dean Herbert
8ac76bd524
Merge pull request #11199 from smoogipoo/refactor-player-score-creation
Asyncify player score creation and submission
2020-12-20 17:30:11 +09:00