diff --git a/client/src/commonMain/kotlin/ui/MainMenu.kt b/client/src/commonMain/kotlin/ui/MainMenu.kt index f4d4184..d7a7e9c 100644 --- a/client/src/commonMain/kotlin/ui/MainMenu.kt +++ b/client/src/commonMain/kotlin/ui/MainMenu.kt @@ -84,6 +84,7 @@ suspend fun MainMenuState.mainMenu() { customUiButton(size = bottomButtonSize).bottomButton("방 생성").onClick { val room = createRoom() serverList.removeFromParent() + joinRoom(room.uuid) waitingRoom(room.uuid) } customUiButton(size = bottomButtonSize).bottomButton("새로고침").onClick { diff --git a/server/src/main/kotlin/application/rooms.kt b/server/src/main/kotlin/application/rooms.kt index c770923..ca8e09b 100644 --- a/server/src/main/kotlin/application/rooms.kt +++ b/server/src/main/kotlin/application/rooms.kt @@ -24,6 +24,10 @@ fun Application.configureRooms() { call.respond(HttpStatusCode.OK) } post("name") { call.respond(nameRoom(call.receive())) } + post("leave") { + + call.respond(HttpStatusCode.OK) + } } } } diff --git a/server/src/main/kotlin/model/Rooms.kt b/server/src/main/kotlin/model/Rooms.kt index 6657e35..47b63ac 100644 --- a/server/src/main/kotlin/model/Rooms.kt +++ b/server/src/main/kotlin/model/Rooms.kt @@ -50,4 +50,8 @@ fun nameRoom(room: UUID) = transaction { fun joinRoom(player: UUID, room: UUID) = transaction { Player.find(Players.id eq player).first().room = EntityID(room, Rooms) +} + +fun leaveRoom(session: UUID) = transaction { + getPlayerBySession(session).room = null } \ No newline at end of file