Commit Graph

395 Commits

Author SHA1 Message Date
d777afc454 Remove countdown at under 5 seconds 2022-09-20 19:55:44 +09:00
b84f716c22 Display seconds when hours>0 to be more lively 2022-09-20 16:02:31 +09:00
ef29987f36 Remove FinalNotification 2022-09-20 15:54:18 +09:00
700000b583 Use custom notification with timer 2022-09-20 15:54:18 +09:00
92b2417d4c Post notification when room joined 2022-09-16 21:10:11 +09:00
433bb5ae24 Add ServerShuttingDownCountdown 2022-09-16 19:56:52 +09:00
1eb2c74e57 Fix countdown serialisation 2022-09-11 18:50:51 +09:00
13d9b2188b Merge pull request #20145 from smoogipoo/multiple-countdowns
Implement support for multiple active countdowns in multiplayer
2022-09-08 19:15:30 +09:00
0de220c45c Change IsExclusive default value to true 2022-09-08 17:54:29 +09:00
b2f30fbf8c Add countdown exclusivity 2022-09-05 20:13:23 +09:00
2923c10cd8 Rewrite rooms to store multiple active countdowns
Update test to the new structure
2022-09-05 19:03:26 +09:00
b5ec7d06dd Add auto-skip setting
Default to auto skip
2022-08-31 20:24:06 +09:00
4107049b08 Fix host room status showing ended after playing 2022-08-09 21:43:10 +09:00
c07f78409e Merge pull request #19189 from peppy/peform-actions-after-reconnect
Fix creating multiplayer game during server migration not joining new room correctly
2022-07-19 14:46:29 +09:00
55a8a3563b Change MultiplayerMatchSubScreen to not immediately leave the room on connection loss
Instead, we can rely on `MultiplayerClient.Room` going `null`.
2022-07-17 21:19:10 +09:00
da7edd5d49 Perform actions after server reconnection 2022-07-17 21:09:48 +09:00
8e7e1e6b51 Fix spectator client not correctly reconnecting after shutdown 2022-07-17 21:07:11 +09:00
b64c0d011c Isolate client's Room from TestMultiplayerClient 2022-07-01 19:23:25 +09:00
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
06ac3c1ad3 Make MultiplayerClient update CurrentPlaylistItem 2022-06-03 21:17:23 +09:00
abb69a49b0 Handle server shutdown messages in room creation and spectator initialisation 2022-05-26 18:03:41 +09:00
fe0fcc7e9e Rename countdown object 2022-04-28 20:00:38 +09:00
cbb07d4011 Add countdown classes 2022-04-21 23:14:37 +09:00
59622deb1f Add LoadAborted() event 2022-04-21 22:40:52 +09:00
08d250fe58 Rename MatchStarted() -> GameplayStarted() 2022-04-21 22:39:24 +09:00
8c3b541312 Add state for when user is ready for gameplay 2022-04-21 22:35:52 +09:00
c0ad91796d Fix gameplay start flow 2022-04-13 20:57:40 +09:00
2bb0d9e6d3 Expose required classes/properties for mocking 2022-04-13 17:02:33 +09:00
20eca9bf6a Refactor TestSceneRankRangePill to not depend on TestMultiplayerClient 2022-04-12 19:39:24 +09:00
34457b4742 Expose mocked members as virtual on Multiplayer and SpectatorClient 2022-04-11 19:04:15 +09:00
9ea6f9b1fe Remove some incorrectly-firing asserts 2022-04-08 21:44:44 +09:00
62f5409191 Merge pull request #17725 from peppy/multiplayer-hotifx
Avoid multiplayer crashes when events arrive in unexpected order
2022-04-08 20:23:37 +09:00
5c571996d8 Avoid multiplayer crashes when events arrive in unexpected order
Intended to be a temporary fix for
https://github.com/ppy/osu/issues/17713 while a more permanent solution
is established. A proper fix is actually quite simple, but updating the
test to work with it is... *slightly* more complicated.

This hotfix will mean that if a `UserJoined` event arrives during the
unobserved window during room join (of the local user), the local user
still won't see the joining user, but the game won't crash as a result.
2022-04-08 17:55:47 +09:00
6bb8243212 Fix potential assert failure due to Room access from disconnection event 2022-04-08 17:41:03 +09:00
933a722cfc Remove secondary null checks which cannot exist (were on wrong thread) 2022-04-08 14:56:04 +09:00
64c63fe93a Move null check in JoinRoom on to update thread 2022-04-08 14:52:56 +09:00
d50f41225f Rename scheduleAsync to runOnUpdateThreadAsync 2022-04-08 14:43:53 +09:00
9ba99ed57d Ensure all access to MultiplayerClient.Room is on the update thread
This was an implicit requirement until now, but not well documented
everywhere. Adding this makes it much easier to understand the
requirement (and probably safer).
2022-04-08 14:42:56 +09:00
f795f77cf9 Add missing newline 2022-04-06 14:00:54 +09:00
5b3eb2d6f4 Add helper class to handle firing async multiplayer methods 2022-03-31 19:27:45 +09:00
f92a31cd39 Merge pull request #17402 from smoogipoo/multiplayer-auto-countdown
Add multiplayer auto-start countdown timer
2022-03-25 20:31:14 +09:00
792e79265b Add ignore rule for new helper property 2022-03-25 15:46:27 +09:00
b1f0f89fdd Simplify AutoStart and Host checks 2022-03-25 15:41:01 +09:00
0d88af19ae Fix local setting not being updated 2022-03-24 20:23:58 +09:00
40eca0fbe2 Merge branch 'master' into multiplayer-auto-countdown 2022-03-24 18:11:51 +09:00
e889d93441 Add asserts of playlist being non-empty after client operations 2022-03-24 17:52:20 +09:00
a83a90e675 Rename countdown Delay -> Duration 2022-03-23 15:21:16 +09:00
f7c0047206 Send time remaining in countdowns instead 2022-03-23 15:19:43 +09:00
d0fee53e1f Implement auto countdown timers
Change to using TimeSpan
2022-03-22 14:34:06 +09:00
04f4e81852 Rename start countdown request 2022-03-18 21:05:19 +09:00