From 98d0e35e5a6e9966406e968e2d247e5e9b6f7768 Mon Sep 17 00:00:00 2001 From: Remy Raes Date: Mon, 3 Oct 2022 18:15:36 +0200 Subject: refactor: implement launchGame method with switch/case --- src-vue/src/plugins/store.ts | 116 +++++++++++++++++++++---------------------- 1 file changed, 57 insertions(+), 59 deletions(-) diff --git a/src-vue/src/plugins/store.ts b/src-vue/src/plugins/store.ts index 5087221b..62b1f887 100644 --- a/src-vue/src/plugins/store.ts +++ b/src-vue/src/plugins/store.ts @@ -58,71 +58,69 @@ export const store = createStore({ }, async launchGame(state: any) { // TODO update installation if release track was switched + switch (state.northstar_state) { + // Install northstar if it wasn't detected. + case NorthstarState.INSTALL: + let install_northstar_result = invoke("install_northstar_caller", { gamePath: state.game_path, northstarPackageName: ReleaseCanal.RELEASE }); + state.northstar_state = NorthstarState.INSTALLING; - // Install northstar if it wasn't detected. - if (state.northstar_state === NorthstarState.INSTALL) { - let install_northstar_result = invoke("install_northstar_caller", { gamePath: state.game_path, northstarPackageName: ReleaseCanal.RELEASE }); - state.northstar_state = NorthstarState.INSTALLING; - - await install_northstar_result.then((message) => { - console.log(message); - }) - .catch((error) => { - console.error(error); - alert(error); - }); - - _get_northstar_version_number(state); - return; - } + await install_northstar_result.then((message) => { + console.log(message); + }) + .catch((error) => { + console.error(error); + alert(error); + }); - // Update northstar if it is outdated. - if (state.northstar_state === NorthstarState.MUST_UPDATE) { - // Updating is the same as installing, simply overwrites the existing files - let install_northstar_result = invoke("install_northstar_caller", { gamePath: state.game_path, northstarPackageName: ReleaseCanal.RELEASE }); - state.northstar_state = NorthstarState.UPDATING; - - await install_northstar_result.then((message) => { - console.log(message); - }) - .catch((error) => { - console.error(error); - alert(error); - }); - - _get_northstar_version_number(state); - return; - } + _get_northstar_version_number(state); + break; - // Game is ready to play - if (state.northstar_state === NorthstarState.READY_TO_PLAY) { - // Show an error message if Origin is not running. - if (!state.origin_is_running) { - ElNotification({ - title: 'Origin is not running', - message: "Northstar cannot launch while you're not authenticated with Origin.", - type: 'warning', - position: 'bottom-right' - }); - - // If Origin isn't running, end here - return; - } + // Update northstar if it is outdated. + case NorthstarState.MUST_UPDATE: + // Updating is the same as installing, simply overwrites the existing files + let reinstall_northstar_result = invoke("install_northstar_caller", { gamePath: state.game_path, northstarPackageName: ReleaseCanal.RELEASE }); + state.northstar_state = NorthstarState.UPDATING; - let game_install = { - game_path: state.game_path, - install_type: state.install_type - } as GameInstall; - await invoke("launch_northstar_caller", { gameInstall: game_install }) - .then((message) => { + await reinstall_northstar_result.then((message) => { console.log(message); - // NorthstarState.RUNNING }) - .catch((error) => { - console.error(error); - alert(error); - }); - return; + .catch((error) => { + console.error(error); + alert(error); + }); + + _get_northstar_version_number(state); + break; + + // Game is ready to play. + case NorthstarState.READY_TO_PLAY: + // Show an error message if Origin is not running. + if (!state.origin_is_running) { + ElNotification({ + title: 'Origin is not running', + message: "Northstar cannot launch while you're not authenticated with Origin.", + type: 'warning', + position: 'bottom-right' + }); + + // If Origin isn't running, end here + return; + } + + let game_install = { + game_path: state.game_path, + install_type: state.install_type + } as GameInstall; + await invoke("launch_northstar_caller", { gameInstall: game_install }) + .then((message) => { + console.log(message); + // NorthstarState.RUNNING + }) + .catch((error) => { + console.error(error); + alert(error); + }); + break; } } } -- cgit v1.2.3