Dan Balasescu
867403d947
Update TestMultiplayerClient to be more in line with server
2021-11-13 01:42:54 +09:00
Dan Balasescu
3b24ec3643
Merge branch 'master' into multi-queueing-modes
2021-11-12 22:16:04 +09:00
Dean Herbert
6a098a8634
Rename BeatmapInfo.OnlineBeatmapID
to OnlineID
to match interface
2021-11-12 17:46:24 +09:00
Dan Balasescu
5c8c121446
Update behaviour to match server (removing playlist items) + tests
2021-11-11 23:39:15 +09:00
Dan Balasescu
07a7b4bcdc
Merge branch 'master' into multi-queueing-modes
2021-11-11 22:19:30 +09:00
Bartłomiej Dach
f38d6ef8db
Add failing test steps
2021-11-11 09:01:50 +01:00
Dan Balasescu
c51cb62315
Adjust TestMultiplayerClient for correctness
2021-11-10 21:31:13 +09:00
Dan Balasescu
78793d8624
Update interface to remove items
2021-11-10 19:58:25 +09:00
smoogipoo
c716051530
Merge branch 'master' into multi-queueing-modes
2021-11-08 19:19:50 +09:00
Dean Herbert
0ecf5f201c
Rename User
to APIUser
and move to correct namespace
2021-11-07 11:26:01 +09:00
smoogipoo
e6deb0c873
Merge branch 'master' into multi-queueing-modes
2021-11-05 15:57:25 +09:00
Dean Herbert
5a078da4d9
Fix APIBeatmapSet.Beatmaps
being IEnumerable
, causing stupid issues
2021-11-04 16:50:14 +09:00
Dean Herbert
3453160a8b
Change PlaylistItem.Beatmap
to be an IBeatmapInfo
2021-11-04 13:16:56 +09:00
Dean Herbert
1bfa1365a0
Rename "null user" tests to better explain purpose
2021-11-02 17:13:37 +09:00
smoogipoo
f076b72fbe
Merge branch 'master' into multi-queueing-modes
2021-10-29 10:48:16 +09:00
smoogipoo
0e293471c2
Clean up multiplayer-screen tests by removing intermediate screen
2021-10-28 14:29:49 +09:00
smoogipoo
f3dba49aae
Rename room managers
2021-10-27 19:36:32 +09:00
smoogipoo
a4397ee68c
Add playlist continuation flow
2021-10-22 22:07:41 +09:00
smoogipoo
1b4be61ed1
Fix finished-play state not handled correctly
2021-10-22 21:16:10 +09:00
smoogipoo
4e6a02bde9
Fix missing QueueMode copies
2021-10-22 20:14:04 +09:00
smoogipoo
db87e42d47
Remove beatmap/ruleset/etc from MultiplayerRoomSettings
2021-10-22 16:48:28 +09:00
smoogipoo
eed8fa8d69
Expand comment a bit
2021-10-15 00:20:45 +09:00
smoogipoo
e6ee360511
Fix intermittent multiplayer tests
2021-10-15 00:10:39 +09:00
Salman Ahmed
f4ae587a33
Extract room request handling logic to its own class
2021-08-19 06:24:06 +03:00
smoogipoo
f2340c6dac
Privatise mutable list
2021-08-17 09:48:33 +09:00
smoogipoo
b672d4b936
Refactor RequestHandlingMultiplayerRoomManager to avoid confusion
2021-08-17 09:43:37 +09:00
smoogipoo
352949069a
Move filter to LoungeSubScreen
2021-08-17 09:36:43 +09:00
Salman Ahmed
f82ed64aa7
Fix participant panel null user test no longer functioning properly
...
I guess the changes that involved `MultiplayerTestScene` having a test
user lookup cache caused this test case to false-pass silently.
Added an explicit assert which ensures the added user indeed has a null
`User` value.
2021-08-16 09:07:00 +03:00
Dean Herbert
e6b3aba6e1
Fix incorrectly directed call in TestMultiplayerClient
2021-08-14 14:08:29 +09:00
Dan Balasescu
60e988aac3
Merge branch 'master' into multiplayer-kick-support
2021-08-12 11:46:56 +09:00
Dean Herbert
e8ad0fba75
Add required server methods for kicking users
2021-08-11 17:20:41 +09:00
Dean Herbert
ea6e441dec
Simplify method of marking players as playing in test scenes
2021-08-09 19:21:22 +09:00
Dean Herbert
551929cf5a
Simplify method of marking players as playing in test scenes
2021-08-09 19:18:13 +09:00
Dean Herbert
1e5d9003d3
Add the ability for tests to alter the room and user states which during testing
2021-08-09 16:58:36 +09:00
Dean Herbert
75426f84f1
Fire initial match user states in TestMultiplayerClient
2021-08-03 23:42:37 +09:00
Dean Herbert
9bfb0f1294
Add basic team vs handling to TestMultiplayerClient
...
Not sure this is the best place to do so... I can foresee this class
getting much larger than we want it to.
2021-08-03 23:42:37 +09:00
Dean Herbert
70da58323a
Drop MatchRuleset
terminology completely
2021-08-03 15:45:17 +09:00
Dean Herbert
9d1e95caf0
Add flow for sending match ruleset specific messages to the server
2021-08-02 18:47:26 +09:00
Dean Herbert
888954747c
Rename class, add commenting and avoid firing requests to create rooms for testing purposes
2021-07-26 15:47:13 +09:00
smoogipoo
d6aa15e5d7
Remove local APIRoom from test multiplayer client
2021-07-19 20:19:23 +09:00
smoogipoo
a5a0f12e19
Also copy password in test room manager
2021-07-19 20:07:56 +09:00
smoogipoo
26d0eea485
Set HasPassword correctly in the response room
2021-07-19 20:03:32 +09:00
smoogipoo
8c0daa89a0
Make test multiplayer client validate password
2021-07-19 20:03:27 +09:00
smoogipoo
063f14da98
Update test room manager to not return passwords
2021-07-19 20:03:27 +09:00
Dean Herbert
5148069efe
Update signatures in line with no-overload methods (unsupported by signalr)
2021-07-12 15:49:19 +09:00
smoogipoo
c93c615f5e
Also fix up interface names
2021-06-25 20:15:30 +09:00
smoogipoo
1ed61b9b98
Fix up dependencies class names
2021-06-25 20:11:38 +09:00
smoogipoo
a27a647ae7
Rename RoomDependencies -> OnlinePlayDependencies
2021-06-25 18:07:47 +09:00
smoogipoo
04279e7f5c
Add some xmldocs
2021-06-25 18:02:53 +09:00
smoogipoo
c0d2b41d4c
Move SpectatorClient into multiplayer dependencies
2021-06-25 17:55:16 +09:00
smoogipoo
7aefbe3da1
Move UserLookupCache inside dependencies
2021-06-25 17:37:02 +09:00
smoogipoo
81a812e216
Rework MultiplayerTestScene to make use of OnlinePlayTestScene
2021-06-25 15:00:10 +09:00
smoogipoo
aa5d22d04a
Remove "test container", make everything go through OnlinePlayTestScene
2021-06-25 13:02:19 +09:00
smoogipoo
5820793d11
Make TestMultiplayerRoomContainer inherit TestRoomContainer
2021-06-24 21:02:29 +09:00
smoogipoo
d197a7f6f5
Rename multiplayer client classes
2021-05-20 15:39:45 +09:00
smoogipoo
811282a975
Add failing test
2021-05-11 19:01:41 +09:00
Dean Herbert
120fb8974d
Combine more instances of test player IDs
2021-04-26 17:22:16 +09:00
smoogipoo
0ee73b8e53
Add failing test
2021-04-22 23:22:44 +09:00
smoogipoo
93c5935ebc
Add match subscreen support + test
2021-04-07 20:46:30 +09:00
smoogipoo
6be9c9f0f4
Link up ready button to spectate state
2021-04-07 16:35:50 +09:00
Dean Herbert
aeff9bd853
Add return bool to HandleRequest to better trigger failures
2021-03-23 18:17:29 +09:00
Dean Herbert
b1cd01ceb8
Apply ConfigureAwait changes to game side
2021-03-08 14:36:35 +09:00
smoogipoo
6affe33fb2
Fix another test scene
2021-03-03 19:40:19 +09:00
smoogipoo
30ff0b83c1
Fix test failures due to unpopulated room
2021-03-02 19:06:21 +09:00
smoogipoo
7adb33f40e
Fix beatmap getting nulled due to failing web request
2021-03-01 17:24:54 +09:00
smoogipoo
f7e4cfa4d0
Fix initial room settings not being returned correctly
2021-03-01 17:24:32 +09:00
smoogipoo
97bb217830
Fix test room playlist items not getting ids
2021-03-01 17:24:05 +09:00
Dean Herbert
5fbed05d04
Merge pull request #11551 from smoogipoo/fix-leave-room-race-2
...
Fix client potentially not leaving a room on exiting multiplayer
2021-02-08 19:23:14 +09:00
smoogipoo
dbea6d4cee
Remove unused using
2021-02-05 00:57:23 +09:00
smoogipoo
18e5081523
Fix test failures
2021-02-05 00:42:38 +09:00
smoogipoo
f538963607
Extra mods -> user mods
2021-02-01 17:57:32 +09:00
smoogipoo
ac2a995041
Add user and panel states
2021-02-01 17:54:56 +09:00
smoogipoo
964976f604
Use a task chain and fix potential misordering of events
2021-01-25 21:01:39 +09:00
Salman Ahmed
560b1e970c
Merge branch 'master' into user-beatmap-downloading-states
2021-01-13 22:31:31 +03:00
Salman Ahmed
90fb67b377
Update code in-line with decided direction
2021-01-11 20:52:24 +03:00
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
Bartłomiej Dach
ff60d652ed
Move out test ongoing operation tracker to higher level
2021-01-08 22:28:21 +01:00
Salman Ahmed
dfa8be9173
Add beatmap availability change state & event methods
2021-01-03 05:48:49 +03: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
83fb7c7a1a
Re-namespace all files in OnlinePlay directory
2020-12-25 16:50:09 +01:00
Dean Herbert
5d4b73baa5
RealtimeMultiplayer -> Multiplayer
2020-12-25 14:10:59 +09:00