Skip to content

Commit 9e0a29d

Browse files
committed
Compose: Add more message types
1 parent b37e256 commit 9e0a29d

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

games-compose/common/src/commonMain/kotlin/net/zomis/games/compose/common/network/ClientToServerMessages.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,21 @@ sealed class ClientToServerMessage(val route: String) {
66
class JoinLobby(val gameTypes: Set<String>, val maxGames: Int) : ClientToServerMessage("lobby/join")
77
object ListLobby : ClientToServerMessage("lobby/list")
88

9+
class Invite(val gameType: String, val invite: List<String>) : ClientToServerMessage("invites/invite")
10+
class InviteView(inviteId: String) : ClientToServerMessage("invites/$inviteId/view")
11+
class InviteRespond(inviteId: String, val accepted: Boolean) : ClientToServerMessage("invites/$inviteId/respond")
12+
class InviteCancel(inviteId: String) : ClientToServerMessage("invites/$inviteId/cancel")
13+
class InvitePrepare(val gameType: String) : ClientToServerMessage("invites/prepare")
14+
15+
class InvitePrepareStart(val gameType: String, val options: Any, val gameOptions: Any) : ClientToServerMessage("invites/start")
16+
class InviteStart(inviteId: String) : ClientToServerMessage("invites/$inviteId/start")
17+
class InviteSend(inviteId: String, val invite: List<String>) : ClientToServerMessage("invites/$inviteId/send")
18+
19+
class GameJoin(gameType: String, gameId: String) : ClientToServerMessage("games/$gameType/$gameId/join")
20+
class GameView(gameType: String, gameId: String, val playerIndex: Int, val actionType: String?, val chosen: List<Any>?) : ClientToServerMessage("games/$gameType/$gameId/view")
21+
class GameActionPerform(gameType: String, gameId: String, val moveType: String, val move: Any?) : ClientToServerMessage("games/$gameType/$gameId/join")
22+
23+
@Deprecated("Actions should be made part of view")
24+
class GameActionList(gameType: String, gameId: String, val playerIndex: Int, val chosen: List<Any>) : ClientToServerMessage("games/$gameType/$gameId/join")
25+
926
}

games-compose/common/src/commonMain/kotlin/net/zomis/games/compose/common/network/Messages.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,13 @@ sealed class Message(val type: String) {
3232
val players: List<PlayerWithOptions>,
3333
val invited: List<PlayerInfo>
3434
) : Message("InviteView")
35+
36+
data class InviteStatus(val inviteId: String, val playerId: String, val status: String) : Message("InviteStatus")
37+
data class InvitePrepare(val gameType: String, val playersMin: Int, val playersMax: Int, val config: Any) : Message("InvitePrepare")
38+
data class InviteResponse(val inviteId: String, val playerId: String, val accepted: Boolean) : Message("InviteResponse")
39+
40+
data class ActionLog(val gameType: String, val gameId: String, val private: Boolean, val parts: List<Any>) : Message("ActionLog")
41+
3542
data class GameStarted(
3643
val gameType: String, val gameId: String,
3744
val access: Map<String, String>,
@@ -59,6 +66,10 @@ sealed class Message(val type: String) {
5966
"Invite" -> Invite::class
6067
"InviteCancelled" -> InviteCancelled::class
6168
"InviteView" -> InviteView::class
69+
"InvitePrepare" -> InvitePrepare::class
70+
"InviteStatus" -> InviteStatus::class
71+
"InviteResponse" -> InviteResponse::class
72+
"ActionLog" -> ActionLog::class
6273
"GameStarted" -> GameStarted::class
6374
"GameInfo" -> GameInfo::class
6475
"UpdateView" -> UpdateView::class

0 commit comments

Comments
 (0)