Bartłomiej Dach
8c3955d341
Improve safety of ongoing operation tracker
...
Finishing an operation started via
`OngoingOperationTracker.BeginOperation()` was risky in cases where the
operation ended at a callback on another thread (which, in the case of
multiplayer, is *most* cases). In particular, if any consumer registered
a callback that mutates transforms when the operation ends, it would
result in crashes after the framework-side safety checks.
Rework `OngoingOperationTracker` into an always-present component
residing in the drawable hierarchy, and ensure that the
`operationInProgress` bindable is always updated on the update thread.
This way consumers don't have to add local schedules in multiple places.
2021-01-09 22:45:24 +01:00
Dean Herbert
b69fe8a274
Merge branch 'master' into disable-repeat-multi-actions
2021-01-09 10:15:20 +09:00
Bartłomiej Dach
ff60d652ed
Move out test ongoing operation tracker to higher level
2021-01-08 22:28:21 +01:00
Salman Ahmed
81355652fa
Add simple test coverage
2021-01-05 06:00:15 +03:00
Dean Herbert
deb1ad7bca
Merge branch 'master' into disable-repeat-multi-actions
2021-01-04 23:38:29 +09:00
Bartłomiej Dach
f800448c87
Move game start logic to a higher level
2020-12-30 18:15:48 +01:00
Bartłomiej Dach
d34609b98e
Rename On{ToggleReady -> ReadyClick}
2020-12-30 16:29:36 +01:00
Bartłomiej Dach
f2163a471a
Trim missed reference to deleted member
2020-12-29 11:53:42 +01:00
Bartłomiej Dach
274730de34
Cache tracker in test scene to resolve test fails
2020-12-29 09:16:08 +01:00
Bartłomiej Dach
e9b0652359
Move ready-up operation logic again to client
...
To salvage ready up button tests.
2020-12-29 09:16:02 +01:00
Bartłomiej Dach
db52255bbe
Adjust tracker usages to match new API
2020-12-29 08:20:43 +01:00
Bartłomiej Dach
f68e4fc88f
Merge branch 'master' into disable-repeat-multi-actions
2020-12-29 07:42:20 +01:00
Dean Herbert
e3a41f6118
Rename variable to make more sense
...
It needs to be explicitly stated that the users in this list are related
to the *joined* room. Especially since it's sharing its variable name
with `SpectatorStreamingClient` where it has the opposite meaning (is a
list of *globally* playing players).
2020-12-29 14:27:35 +09:00
Bartłomiej Dach
af66e45311
Disable create room button after triggering join
2020-12-28 22:48:03 +01:00
Bartłomiej Dach
47ab7c9fd6
Disable ready button after host click
2020-12-28 22:48:03 +01:00
Dean Herbert
9155671557
Merge pull request #11341 from peppy/fix-leaderboard-user-handling
...
Fix incorrect null handling in GameplayLeaderboard
2020-12-28 22:44:55 +09:00
Dean Herbert
2e88036f39
Merge pull request #11342 from bdach/fix-beatmap-not-reverting
...
Fix user changes in multi song select not reverting on exit without confirmation
2020-12-28 21:56:07 +09:00
Bartłomiej Dach
a376a23ed7
Merge branch 'master' into fix-leaderboard-user-handling
2020-12-28 13:43:53 +01:00
Bartłomiej Dach
fb21b7c016
Add failing test cases
2020-12-28 12:35:16 +01:00
Dean Herbert
6254907ef9
Move multiplayer leaderboard test to correct namespace
2020-12-28 20:31:08 +09:00
Dean Herbert
046a76cb1d
Allow null users to still be displayed in the participant list
...
The fix here is correcting the access of `user.Country`. The deicision
to have null users display is because this is the best we can do (if
osu-web could not resolve the user). We still want the users in the
lobby to be aware of this user's presence, rather than hiding them from
view.
osu-stable does a similar thing, showing these users as `[Loading]`. I
decided to go with blank names instead because having *any* text there
causes confusion. We can iterate on this in future design updates.
2020-12-28 15:03:44 +09:00
Bartłomiej Dach
4c43a67b68
Rename I{Multiplayer -> OnlinePlay}SubScreen
2020-12-25 18:07:34 +01:00
Bartłomiej Dach
83fb7c7a1a
Re-namespace all files in OnlinePlay directory
2020-12-25 16:50:09 +01:00
Dean Herbert
e421b6d34e
Update some missed variables
2020-12-25 23:36:09 +09:00
Bartłomiej Dach
da8365f9d0
Fix other missed cases of changing inheritance
2020-12-25 14:34:47 +01:00
Bartłomiej Dach
13c38c9b55
Fix tests failing due to wrong inheritance
2020-12-25 14:18:21 +01:00
Dean Herbert
5d4b73baa5
RealtimeMultiplayer -> Multiplayer
2020-12-25 14:10:59 +09:00
Dean Herbert
12e4bbdc5b
Reorganise test scenes into playlists specific namespace
2020-12-25 13:20:37 +09:00
Dean Herbert
a1384942b1
Timeshift -> Playlists at a code level
2020-12-25 13:11:21 +09:00
Bartłomiej Dach
6ec045f235
Distinguish primary multi screen titles in header
2020-12-24 16:18:35 +01:00
Dean Herbert
23bf9c372c
Fix naming conflict with test scenes
2020-12-22 18:26:39 +09:00
Dean Herbert
ce806dd880
Replace the ready mark display with a state display, showing all participant states
2020-12-22 18:25:45 +09:00
Dean Herbert
17d924c755
Move timeshift settings overlay to correct namespace
2020-12-22 15:52:47 +09:00
Dean Herbert
8201fa8e34
Split out common implementation and private classes in MatchSettingsOverlay
2020-12-22 15:51:24 +09:00
smoogipoo
14ea49a14d
Merge branch 'nullable-endsat' into realtime-multiplayer-2
2020-12-21 16:22:16 +09:00
smoogipoo
a59124dd93
Make room duration/endsat nullable
2020-12-21 16:18:39 +09:00
smoogipoo
a1ba4b6979
Split MatchSubScreen into abstract component + timeshift implementation
2020-12-20 23:40:19 +09:00
smoogipoo
b9e4a7196e
Add realtime lounge subscreen
2020-12-20 23:36:56 +09:00
smoogipoo
c33e693b8e
Refactor InitialRoomsReceived to avoid extra bindables
2020-12-20 23:05:17 +09:00
smoogipoo
4494bb1eb5
Abstract RoomManager and Multiplayer
2020-12-19 00:52:27 +09:00
smoogipoo
bdfeb55dec
Fix room status test scene not working
2020-12-18 15:18:06 +09:00
smoogipoo
8c5e25b990
Remove overlined test scenes
2020-12-18 15:11:11 +09:00
smoogipoo
f0e91ba431
Fix overlined playlist test scene not working
2020-12-18 15:09:11 +09:00
smoogipoo
a4f7eb83c7
Fix overlined participants test scene not working
2020-12-18 15:07:39 +09:00
smoogipoo
208a9e596e
Set new room for each test iteration
2020-12-18 14:58:58 +09:00
smoogipoo
f599427080
Implement TimeshiftFilterControl
2020-12-07 22:04:35 +09:00
Joehu
ef3c918a3c
Simplify input buttons/keys in tests
2020-11-09 14:18:20 -08:00
Bartłomiej Dach
164370bc7d
Resolve more CA1805 inspections
2020-11-01 20:51:23 +01:00
Dean Herbert
dbfaa4a0df
Remove beatmap paths from tests where they would result in exceptions
2020-09-15 22:50:44 +09:00
smoogipoo
4399f5976c
Fix global mods being retained by rooms
2020-09-04 15:20:55 +09:00