public void requestNewGame(GameFacade game) { // This likely isn't set but this ensures a known state // TODO actually right now a cancelled abort will leave this set _pendingGame = null; if (activeGame == null) { startGame(game); } else if (activeGame.gameId == game.gameId) { returnToActiveGame(); } else if (!_console.isTransactionOpen && !activeGame.isInProgress) { startGame(game); } else { _pendingGame = game; _console.onTransactionAborted += handleTransactionAborted; _console.showAbortDialog(); } }