Commit Graph

233 Commits

Author SHA1 Message Date
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
a17eed64f9 Use Track to ensure its loaded before transferring 2022-05-21 16:52:16 +03:00
a42f5ea34e Bring back virtual track condition given its cheapness
Will still keep the override in `ClockBackedTestWorkingBeatmap` because
it still relies on a local track store and will fail the moment it uses
a non-virtual track.
2022-05-21 16:51:56 +03:00
466ed3c791 Fix wrong return xmldoc
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-05-21 16:43:31 +03:00
c78d90ccbd Refactor track transferring logic for ability to override and disallow 2022-05-20 14:43:07 +03:00
552ec5282f Change WorkingBeatmap.GetVirtualTrack to use length provided by BeatmapInfo
A lot of tests are using test resources that populate the length field,
but do not populate hitobjects. The general expectation is that
components should be using the cached length in cases where hitobjects
are not relevant, but `GetVirtualTrack` was doing its own local
calculation.

This could cause tests to fail due to `MusicController` changing track
in the background.
2022-04-06 14:51:15 +09:00
df088f96f4 Fix incorrect Metadata-related null checks 2022-01-12 16:39:36 +09:00
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00
bc47801cbb Revert "Apply NRT to WorkingBeatmap"
This reverts commit 9e17d7d4e3.
2021-12-22 19:14:18 +09:00
9e17d7d4e3 Apply NRT to WorkingBeatmap 2021-12-22 18:41:45 +09:00
53c0a6708f Move public accessor properties to top of file 2021-12-22 18:25:09 +09:00
a5f77a86ef Move load methods and rename loadedTrack to match other private fields 2021-12-22 18:24:51 +09:00
7344c87b16 Remove RecyclableLazy 2021-12-22 18:18:12 +09:00
f3f491374b Remove unused load checks 2021-12-22 18:17:00 +09:00
3c95497ed7 Reorder methods to hopefully make more sense 2021-12-22 18:17:00 +09:00
e38e4c0adc Enable NRT on IWorkingBeatmap 2021-12-22 18:17:00 +09:00
967419c9ac Remove BeatmapSetInfo and Metadata from interface
There were very few accesses to this, and after realm they should all be
done via the `BeatmapInfo`, so let's remove this.
2021-12-22 18:17:00 +09:00
1b0af78831 Simplify WorkingBeatmap in multiple ways
Just a clean-up pass.
2021-12-22 18:17:00 +09:00
b38b300159 Convert BeatmapMetadata access to be via a computed property 2021-12-22 18:17:00 +09:00
bb8e8bc4f0 Use consistent type for mod collection in all overloads 2021-11-21 11:30:45 +01:00
6100bf66a6 Clean up cancellation handling in WorkingBeatmap
After the recent changes introducing cancellation support to
`WorkingBeatmap`, it turned out that if the cancellation support was
used, `GetPlayableBeatmap()` would raise timeout exceptions rather than
the expected `OperationCanceledException`.

To that end, split off a separate overload for the typical usage, that
catches `OperationCanceledException` and converts them to beatmap load
timeout exceptions, and use normal `OperationCanceledException`s in the
overload that requires a cancellation token to work.
2021-11-20 17:23:55 +01:00
bf8507c7b9 Only apply default timeout when debugger not attached 2021-11-18 23:26:45 +09:00
1c13b39104 Revert incorrect ordering change 2021-11-17 22:10:46 +01:00
0715d40ea0 Merge branch 'master' into beatmap-cancellation-token 2021-11-17 11:16:10 +09:00
13f3e2eea9 Add back default timeout to GetPlayableBeatmap 2021-11-17 11:06:31 +09:00
f5c52755c9 Merge branch 'master' into i-working-beatmap/difficulty-calculator 2021-11-16 16:19:22 +09:00
d2a7670494 Remove no longer used helper method 2021-11-16 14:48:02 +09:00
6cca657a2d Standardise naming of CancellationToken parameters 2021-11-16 14:45:51 +09:00
53c0682a08 Merge branch 'master' into beatmap-cancellation-token 2021-11-16 14:43:13 +09:00
1d87b47fec Remove now-unnecessary R# disables 2021-11-15 19:40:31 +09:00
a90cfb4a2f Implement remaining properties via implicit implementation rather than interface methods 2021-11-15 19:30:46 +09:00
369b4ba789 Update DifficultyCalculator to take an IRulesetInfo 2021-11-15 19:16:48 +09:00
a0e25d18cd Expose more of WorkingBeatmap via interface 2021-11-15 18:25:48 +09:00
97345ac9e6 Remove unnecessary TimeSpan timeout parameter (CancellationToken can now be used) 2021-11-08 14:33:32 +09:00
d5f5d74a89 Rename CancellationToken variable 2021-11-07 13:41:54 +01:00
cf0b757b16 Fix PR comments.
Nitpick, more cancellation token checks.
2021-11-06 16:03:53 +01:00
f0caa10066 Add support for a provided cancellation token for GetPlayableBeatmap() 2021-11-05 23:53:48 +01:00
8a4c0c0ac8 Lock one more case of usage 2021-10-14 16:22:43 +09:00
060bb1afbd Add locking around async beatmap (task) retrieval 2021-10-14 15:39:53 +09:00
d3efec3c04 Remove unnecessary clone operations 2021-10-07 17:22:10 +09:00
b339c149d8 Copy BaseDifficulty to Beatmap<T> and move all write operations across 2021-10-06 15:10:45 +09:00
84bddf0885 Initial PP counter implementation 2021-09-30 17:00:24 +09:00
6108451449 Retrieve separated skin instance from working beatmap for editing 2021-08-15 21:18:09 +02:00
e1b2c63e09 Add IApplicableToBeatmapProcessor mod interface 2021-06-23 14:46:30 +09:00
dac1a98d8a Merge branch 'master' into fix-skin-sample-lookup 2021-05-30 15:19:47 +09:00
b13b732e02 Remove incorrect DefaultSkin usage 2021-05-27 14:50:56 +09:00
318e5fc60b Mark WorkingBeatmap.GetSkin() as abstract 2021-05-21 20:14:26 +03:00
825d61e22c Separate default beatmap skins from DefaultSkin 2021-05-19 12:06:10 +03:00
77e422409c Add SkinInfo.InstantiationInfo to allow creating different skin types 2021-05-11 23:37:06 +09:00