Skip to content

Commit 540a014

Browse files
committed
feat(sdk): enable forced stepping in GameController
1 parent 8f2d06b commit 540a014

File tree

3 files changed

+4
-3
lines changed

3 files changed

+4
-3
lines changed

sdk/src/main/server-api/sc/networking/clients/GameController.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import sc.protocol.requests.PauseGameRequest
55
import sc.protocol.requests.StepRequest
66

77
class GameController(private val roomId: String, private val client: XStreamClient): IGameController {
8-
override fun step() = client.send(StepRequest(roomId))
8+
override fun step(force: Boolean) = client.send(StepRequest(roomId, force))
99
override fun pause(pause: Boolean) = client.send(PauseGameRequest(roomId, pause))
1010
override fun cancel() = client.send(CancelRequest(roomId))
1111
}

sdk/src/main/server-api/sc/networking/clients/IGameController.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package sc.networking.clients
22

33
interface IGameController {
4-
fun step()
4+
fun step(force: Boolean = false)
55
fun pause(pause: Boolean = true)
66
fun unpause() = pause(false)
77
fun cancel()

server/src/test/java/sc/server/network/LobbyGameTest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,11 @@ class LobbyGameTest: WordSpec({
7575
room.clients shouldHaveSize 1
7676
"return GameResult on step" {
7777
val roomListener = observeRoom(room.id)
78-
admin.control(room.id).step()
78+
admin.control(room.id).step(true)
7979
val result = roomListener.waitForMessage(GameResult::class)
8080
result.winner shouldBe Team.ONE
8181
playerHandlers[0].gameResult?.winner shouldBe Team.ONE
82+
admin.closed shouldBe false
8283
}
8384
playerClients[0].stop()
8485
await("Stops when client dies") { lobby.games shouldHaveSize 0 }

0 commit comments

Comments
 (0)