diff options
| author | Mike Vink <mike1994vink@gmail.com> | 2021-07-15 16:50:35 +0200 |
|---|---|---|
| committer | Mike Vink <mike1994vink@gmail.com> | 2021-07-15 16:50:35 +0200 |
| commit | f026e6bafa7fc5659486c15c32d57acc2adeaad2 (patch) | |
| tree | f7e379fd1ea305808c47eb9dc4b76fcf70fb3760 /client | |
| parent | 0f8edbe0b2c0bd09cd40872f06993c08e67f26cb (diff) | |
bug(server/client): get message but game no start
Diffstat (limited to 'client')
| -rw-r--r-- | client/src/GameState.ts | 10 | ||||
| -rw-r--r-- | client/src/app.ts | 11 | ||||
| -rw-r--r-- | client/src/game.ts | 17 |
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(); } |
