Salman Ahmed
64b61108ad
Move solution to multiplayer flow instead
2024-01-28 00:42:04 +03:00
Dean Herbert
0bbc27e380
Add a gameplay configuration flag to disable fail animation
2024-01-04 17:13:24 +09:00
Dean Herbert
100c0cf533
Fix MultiplayerPlayer
never calling Reset
on GameplayClockContainer
...
This call is responsible for ensuring the clock is in a stopped state.
2023-10-10 17:58:37 +09:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
Dean Herbert
678eec1c67
Move LeaderboardFlow
to HUDOverlay
to share positioning logic
2022-09-13 18:45:11 +09:00
Dean Herbert
5894d2f0bc
Ensure gameplay leaderboard hides with rest of HUD when it should
2022-09-13 18:45:11 +09:00
Dean Herbert
d251c0b2ac
Move leaderboard implementation to Player
itself
2022-09-13 18:00:21 +09:00
Dan Balasescu
c852c54055
Consume auto skip setting during play
2022-08-31 20:24:15 +09:00
Dean Herbert
31a447fda0
Update parameter discards
2022-06-24 21:26:19 +09:00
Dan Balasescu
f8830c6850
Automated #nullable processing
2022-06-17 16:37:17 +09:00
Dan Balasescu
eaeb66547e
Revert comment removal
2022-05-31 19:58:45 +09:00
Dan Balasescu
22d998dc2a
Use new score processor in MultiplayerGameplayLeaderboard
2022-05-30 19:26:26 +09:00
Dan Balasescu
0224947de0
Add comment about how starting gameplay works
2022-05-26 20:09:47 +09:00
Dan Balasescu
3915b8e414
Fix multiplayer race condition when starting gameplay
2022-05-26 20:01:33 +09:00
Dean Herbert
d05cd69087
Change multiplayer leaderboard to always hide during gameplay unless holding-for-HUD
2022-05-11 16:12:54 +09:00
Dan Balasescu
1d8ac6917d
Send Loaded state from PlayerLoader on update thread
2022-04-28 20:10:47 +09:00
Dan Balasescu
41355384bd
Add support for gameplay abort/force start
2022-04-21 23:14:37 +09:00
Dan Balasescu
08d250fe58
Rename MatchStarted() -> GameplayStarted()
2022-04-21 22:39:24 +09:00
Dean Herbert
24c2d465a9
Move null assert in MultiplayerPlayer
on to update thread
2022-04-08 14:53:14 +09:00
Dan Balasescu
885cb3ce5b
Add current screen checks for added safety
2022-03-10 20:03:02 +09:00
Dean Herbert
2d135e5be6
Explain purpose of Schedule
call in MultiplayerPlayer.onResultsReady
2022-03-10 19:56:13 +09:00
Dan Balasescu
45d537ef72
Fix potential multiplayer crash with async disposal
2022-03-10 18:50:53 +09:00
Dan Balasescu
f1c40bd9ed
Rework GetScore() method signatures + implementations
...
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
Bartłomiej Dach
e503182a8d
Merge branch 'master' into activity-on-multiplayer-screens
2021-08-24 18:50:55 +02:00
smoogipoo
16ddbcd208
Don't bind to RoomId where it's expected to be constant
2021-08-24 14:25:40 +09:00
smoogipoo
df170afbc4
Fix multiplayer crashing when entering gameplay
2021-08-24 13:22:06 +09:00
smoogipoo
956c1cc216
Merge branch 'master' into activity-on-multiplayer-screens
2021-08-24 12:33:34 +09:00
Nathan Alo
2877b43824
split multiplayer and playlist activity
2021-08-22 09:54:07 +08:00
Dean Herbert
30eee363dc
Add chat display during multiplayer gameplay
2021-08-17 16:17:31 +09:00
Nathan Alo
4ed06a1021
apply suggestions
2021-08-14 22:39:12 +08:00
Nathan Alo
a553942a7f
update InitialActivity
on multiplayer Player
and SongSelect
2021-08-14 13:20:36 +08:00
Bartłomiej Dach
f06f13215b
Split off multiplayer team results screen to separate class
...
The previous version tried to keep both normal multiplayer and team
multiplayer results as one screen, but didn't check that team-specific
components aren't null in `LoadComplete()`.
To decrease number of conditional, split off the team results screen to
a separate implementation, and choose one or the other at push time in
`MultiplayerPlayer`, depending on team count.
2021-08-12 20:01:31 +02:00
Dean Herbert
c376e652a4
Convey and show team scores at the multiplayer results screen
2021-08-11 15:32:14 +09:00
Dean Herbert
a503274e1d
Pass through MultiplayerRoomUser
s instead of int
s to avoid re-retrieval
2021-08-10 18:39:20 +09:00
Dean Herbert
121648b593
Add gameplay-specific team score display which can expand and contract
2021-08-09 19:17:51 +09:00
Dean Herbert
fcec714b4f
Add safeties to avoid MultiplayerPlayer
crashing when beatmap can't be loaded
2021-08-09 16:31:18 +09:00
Dean Herbert
724edcbecd
Toggle the expanded state of the multiplayer leaderboard with the user's HUD
...
Resolves https://github.com/ppy/osu/discussions/14140 .
---
Until now, the multiplayer leaderboard would expand during break time.
Now, it respects the user's HUD visibility status (which can be toggled
using Shift+Tab).
2021-08-06 19:23:44 +09:00
Dean Herbert
77adf687c6
Consume ability to lookup multiple users in MultiplayerGameplayLeaderboard
...
Avoids syncrhonously blocking on asynchronous operations (which was
leading to LCA starvation in tests).
2021-07-05 19:56:37 +09:00
smoogipoo
d197a7f6f5
Rename multiplayer client classes
2021-05-20 15:39:45 +09:00
Christine Chen
b15838b220
Move storyboard outro logic to DrawableStoryboard
2021-04-16 00:59:10 -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
Dean Herbert
84b2f9a848
Make token private
2021-03-24 13:20:44 +09:00
Dean Herbert
3cd8bf2d7f
Move token request construction to LoadAsyncComplete to better allow DI usage
2021-03-23 18:20:55 +09:00
Dean Herbert
571124669d
Remove all references to "score submission" from Player
2021-03-23 18:20:55 +09:00
Dean Herbert
12f050264a
Further split out a player class which submits to "rooms"
2021-03-23 18:20:55 +09:00
Dean Herbert
7045fce555
Move score submission logic in general out to its own Player type
2021-03-23 18:20:55 +09:00
Dean Herbert
b1cd01ceb8
Apply ConfigureAwait changes to game side
2021-03-08 14:36:35 +09:00
Dean Herbert
9d02f589fe
Compact leaderboard during gameplay
2021-02-19 16:51:39 +09:00
Dean Herbert
7298adc9d9
Fix non-threadsafe usage of MultiplayerClient.IsConnected
2021-01-12 19:04:16 +09:00
Dean Herbert
54982dcdd7
Refactor LoadingLayer to avoid applying effects to external drawables
...
In theory this seemed like a good idea (and an optimisation in some
cases, due to lower fill rate), but in practice this leads to weird edge
cases.
This aims to do away with the operations on external drawables by
applying a dim to the area behind the `LoadingLayer` when required.
I went over each usage and ensured they look as good or better than
previously.
The specific bad usage here was the restoration of the colour on dispose
(if the `LoadingLayer` was disposed in a still-visible state).
I'm aware that the `BeatmapListingOverlay` will now dim completely during
load. I think this is fine for the time being.
2021-01-05 17:31:45 +09:00