Dan Balasescu
89c47708a1
Merge branch 'master' into new-multiplayer-playlist
2021-12-01 21:35:23 +09:00
Dan Balasescu
fc8c8685b8
Add playlist queue tests
2021-12-01 21:35:22 +09:00
Dean Herbert
0fae10500a
Fix failing tests
2021-11-30 20:09:45 +09:00
Dean Herbert
01bc330d1c
Rename method to match new purpose
2021-11-30 19:42:46 +09:00
Dean Herbert
f58c5cd9c0
Update MultiplayerClient
to use BeatmapLookupCache
2021-11-30 19:36:25 +09:00
Dan Balasescu
e9a19aacd7
Fix tests by requiring host
2021-11-26 17:23:50 +09:00
Dan Balasescu
7c91cd674e
Update test classes to set owner ids
2021-11-25 22:17:18 +09:00
Dan Balasescu
69a9fc9732
Fix a few more multiplayer test timeouts
...
These can be tested by adding a `Task.Delay(3000);` at the end of the
`MultiplayerClient.JoinRoom` task. The reason is typically that
`Client.Room` becomes not-null but the join task still hasn't completed
yet, so e.g. the ready button is still disabled.
2021-11-23 16:07:03 +09:00
Dan Balasescu
f3ba62d2c2
Add xmldoc to serverSidePlaylist
2021-11-22 11:26:41 +09:00
Dan Balasescu
10dc08a855
Store server-side playlist instead of mutating client-side version
2021-11-22 11:18:21 +09:00
Dan Balasescu
6420971660
Adjust test client with new queue-changing logic
2021-11-22 11:10:10 +09:00
Dan Balasescu
4c8c34b43f
Use full name for round robin
2021-11-19 18:42:34 +09:00
Dan Balasescu
4e625b78e2
Update queue mode names
2021-11-19 18:28:43 +09:00
Dean Herbert
0c289bf8e5
Remove pointless namespace
2021-11-19 14:46:53 +09:00
Dan Balasescu
29d0d5badf
Rename QueueModes -> QueueMode
2021-11-16 14:53:10 +09:00
Dan Balasescu
41e46f158f
Fix tests following playlist changes
...
Also more closely follows the server implementation.
2021-11-16 14:37:33 +09:00
Dan Balasescu
9076519710
Give MultiplayerRoom a playlist, remove RequestAllPlaylistItems()
2021-11-16 14:13:43 +09:00
Dan Balasescu
f0593115b2
Remove RemovePlaylistItem() server method for the time being
2021-11-16 12:08:53 +09:00
Dan Balasescu
f743a3647f
Rename APIPlaylistItem -> MultiplayerPlaylistItem
2021-11-15 23:14:27 +09:00
Dan Balasescu
ce47f456ec
Change API for retrieving playlist items on join
2021-11-13 04:42:14 +09:00
Dan Balasescu
4aaf412ac9
Ensure one non-expired item when switching to host-only
2021-11-13 03:35:41 +09:00
Dan Balasescu
dbc23e224f
Fix further test failures
2021-11-13 03:34:45 +09:00
Dan Balasescu
e31d7e8ad7
Fix new failing test
2021-11-13 02:32:20 +09:00
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