summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2021-07-15 16:50:35 +0200
committerMike Vink <mike1994vink@gmail.com>2021-07-15 16:50:35 +0200
commitf026e6bafa7fc5659486c15c32d57acc2adeaad2 (patch)
treef7e379fd1ea305808c47eb9dc4b76fcf70fb3760 /client
parent0f8edbe0b2c0bd09cd40872f06993c08e67f26cb (diff)
bug(server/client): get message but game no start
Diffstat (limited to 'client')
-rw-r--r--client/src/GameState.ts10
-rw-r--r--client/src/app.ts11
-rw-r--r--client/src/game.ts17
3 files changed, 33 insertions, 5 deletions
diff --git a/client/src/GameState.ts b/client/src/GameState.ts
index def867f..198c6e8 100644
--- a/client/src/GameState.ts
+++ b/client/src/GameState.ts
@@ -28,4 +28,14 @@ export default class GameState {
this.currentPlayer = new Player(receivedState.currentPlayer!);
}
}
+
+ withoutSprite() {
+ let spriteLess: GameState = new GameState();
+ spriteLess.currentPlayer = new Player({
+ name: this.currentPlayer!.name,
+ position: this.currentPlayer!.position
+ });
+ // spriteLess.remotePlayers = this.remotePlayers;
+ return spriteLess;
+ }
}
diff --git a/client/src/app.ts b/client/src/app.ts
index 784fed8..773699a 100644
--- a/client/src/app.ts
+++ b/client/src/app.ts
@@ -3,6 +3,7 @@ import GameState from './GameState';
import Socket from './socket';
import Client from './client';
import Player from './player';
+import { Event } from './events';
const url = 'ws://localhost:8080';
const session = Socket.getInstance('ws://localhost:8080', {name: "", password: ""});
@@ -30,11 +31,21 @@ function delay(ms: number) {
return new Promise( resolve => setTimeout(resolve, ms) );
}
+function gameStateSender() {
+ Client.getInstance().out({
+ type: "clientSidePosUpdate",
+ gameState: GameState.getInstance().withoutSprite()
+ });
+}
+
async function startGame() {
while (true) {
console.log(GameState.getInstance().currentPlayer);
if (GameState.getInstance().currentPlayer) {
const game: Phaser.Game = new Phaser.Game(config);
+ setInterval(
+ () => {gameStateSender()}, 200
+ );
break;
}
await delay(1000);
diff --git a/client/src/game.ts b/client/src/game.ts
index 369e7e6..e302c70 100644
--- a/client/src/game.ts
+++ b/client/src/game.ts
@@ -132,20 +132,27 @@ export default class AkkamonStartScene extends Phaser.Scene
}
update(time: Number, delta: Number) {
- let player = GameState.getInstance().currentPlayer!.sprite as Sprite;
- let input = GameState.getInstance().currentPlayer!.input;
+ let player = GameState.getInstance().currentPlayer!;
+ let playerSprite = player.sprite!;
+ let input = player.input;
const speed = 175;
- const prevVelocity = player.body.velocity.clone();
+ const prevVelocity = playerSprite.body.velocity.clone();
// Stop any previous movement from the last frame
- player.body.setVelocity(0);
+ playerSprite.body.setVelocity(0);
if (input) {
- this.moveSprite(player, input, speed, prevVelocity)
+ this.moveSprite(playerSprite, input, speed, prevVelocity)
}
+ player.position = {
+ x: playerSprite.x,
+ y: playerSprite.y
+ }
+
+
// this.drawRemotePlayers();
}