diff options
Diffstat (limited to 'chicken-wranglers/src/qml/host.js')
-rw-r--r-- | chicken-wranglers/src/qml/host.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/chicken-wranglers/src/qml/host.js b/chicken-wranglers/src/qml/host.js new file mode 100644 index 0000000..d545c31 --- /dev/null +++ b/chicken-wranglers/src/qml/host.js @@ -0,0 +1,46 @@ +function start() { + game.mode = Game.HostMode + + startViewLoader.item.showStartServerDialog("Creating server") + + // gameHosts only exists after game.mode is set to Game.HostMode + gameHost.statusChanged.connect(onStatusChanged) + gameHost.startConnection() +} + +function quit() { + gameHost.statusChanged.disconnect(onStatusChanged) + startViewLoader.item.hideStartServerDialog() + + gameHost.quit(); +} + +function onStatusChanged() { + switch (gameHost.status) { + + case GameHost.Start: + startViewLoader.item.hideStartServerDialog() + hostViewLoader.source = "HostView.qml" + break + + case GameHost.Error: + startViewLoader.item.hideStartServerDialog() + handleError(gameHost.error) + break + + default: + console.log("Unknown server status") + } +} + +function handleError(error) { + switch (error) { + + case GameHost.AnotherServerRunningError: + startViewLoader.item.showErrorDialog("Server is already running") + break + + default: + console.log("Unknown server error") + } +} |