From 90f73caefee9da7590c456d3fb985ffe698cbec8 Mon Sep 17 00:00:00 2001 From: Alexander Bass Date: Sun, 19 Jun 2022 20:59:51 -0400 Subject: [PATCH] Only switch to game view when response is recieved from server. --- index.js | 1 + www/scripts/game/game.js | 7 +++++-- www/scripts/interface/mainmenu/menu.js | 2 +- www/scripts/net/netcode.js | 7 +++++-- www/scripts/script.js | 8 +++----- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/index.js b/index.js index ab4e15e..72dfd79 100644 --- a/index.js +++ b/index.js @@ -126,6 +126,7 @@ io.on('connection', function(client) { client.illegalAction = function(action) { client.emit('illegalAction', action) + } log.log('User connected', 'FgGreen'); diff --git a/www/scripts/game/game.js b/www/scripts/game/game.js index e2198d9..e61c91a 100644 --- a/www/scripts/game/game.js +++ b/www/scripts/game/game.js @@ -1,9 +1,12 @@ class Game { - constructor(tileSize, gridSize, world) { + constructor(tileSize, gridSize, world, status) { this.tileSize = tileSize; this.gridSize = gridSize; this.world = world; - this.status = "none"; + this.status = status; + } + reset() { + game = new Game(24, [18, 18], null, false); } } diff --git a/www/scripts/interface/mainmenu/menu.js b/www/scripts/interface/mainmenu/menu.js index 67f4ce2..0460576 100644 --- a/www/scripts/interface/mainmenu/menu.js +++ b/www/scripts/interface/mainmenu/menu.js @@ -12,5 +12,5 @@ function submit(event) { if (room == '' || name == '' || status.get() == 'disconnected') return joinGame({room: room, name: name}) event.preventDefault(); - changeScene("game") + } diff --git a/www/scripts/net/netcode.js b/www/scripts/net/netcode.js index d9a820b..684aa13 100644 --- a/www/scripts/net/netcode.js +++ b/www/scripts/net/netcode.js @@ -2,6 +2,7 @@ import * as env from "/scripts/env.js" import * as status from "/scripts/net/status.js" import {game} from "/scripts/game/game.js" import {render} from "/scripts/display/draw.js" +import { changeScene } from "/scripts/interface/scene.js" export var socket = io.connect(env.IP_ADDRESS); export function joinGame(data){ @@ -28,6 +29,8 @@ socket.on('illegalAction', function(data){ switch (data) { case 1: action = "You must be in game to do this." + changeScene("mainmenu"); + game.reset(); break; case 20: action = "That name is already taken." @@ -48,7 +51,7 @@ socket.on('playerList', function(data){ }); socket.on('inGame', function(data){ - if (!game.status) {changeScene()} + if (!game.status) {changeScene("game")} game.status = true; }) @@ -58,6 +61,6 @@ socket.on('sync', function (sync){ }) window.onbeforeunload = function(){ - socket.disconnect(); + game.world = [] } diff --git a/www/scripts/script.js b/www/scripts/script.js index 0f7ffb6..3bcc8d8 100644 --- a/www/scripts/script.js +++ b/www/scripts/script.js @@ -1,6 +1,4 @@ import { render } from './display/draw.js'; -import { game } from './game/game.js' -import * as menu from './interface/mainmenu/menu.js' -import * as net from "/scripts/net/netcode.js" - -var button +import './game/game.js' +import './interface/mainmenu/menu.js' +import "/scripts/net/netcode.js"