summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Vink <mike1994vink@gmail.com>2021-07-15 17:22:17 +0200
committerMike Vink <mike1994vink@gmail.com>2021-07-15 17:22:17 +0200
commitfe928e9c0a76d52269b0593b3ade31c6ccd9b8f9 (patch)
tree38306ab846ab75638f2e07f12dbb1d460723b825
parentf026e6bafa7fc5659486c15c32d57acc2adeaad2 (diff)
feat(inverting): player sprite relation
-rw-r--r--client/src/GameState.ts8
-rw-r--r--client/src/client.ts2
-rw-r--r--client/src/game.ts5
-rw-r--r--client/src/sprite.ts23
4 files changed, 35 insertions, 3 deletions
diff --git a/client/src/GameState.ts b/client/src/GameState.ts
index 198c6e8..29284d5 100644
--- a/client/src/GameState.ts
+++ b/client/src/GameState.ts
@@ -25,8 +25,14 @@ export default class GameState {
if (this.currentPlayer === undefined) {
console.log("--> getting current player object");
console.log(receivedState.currentPlayer!);
- this.currentPlayer = new Player(receivedState.currentPlayer!);
+ this.currentPlayer = receivedState.currentPlayer!;
}
+ if (this.remotePlayers === undefined) {
+ this.remotePlayers = receivedState.remotePlayers;
+ } else {
+
+ }
+
}
withoutSprite() {
diff --git a/client/src/client.ts b/client/src/client.ts
index ecd15fc..565abe5 100644
--- a/client/src/client.ts
+++ b/client/src/client.ts
@@ -27,7 +27,7 @@ export default class Client
console.log("-> client is handling incoming event:");
console.log(event);
switch (event.type) {
- case 'updatePos':
+ case 'serverSidePosUpdate':
GameState.getInstance().posUpdate(event.gameState!);
break;
}
diff --git a/client/src/game.ts b/client/src/game.ts
index e302c70..3ff639b 100644
--- a/client/src/game.ts
+++ b/client/src/game.ts
@@ -153,7 +153,10 @@ export default class AkkamonStartScene extends Phaser.Scene
}
- // this.drawRemotePlayers();
+ this.renderRemotePlayers(GameState.getInstance().remotePlayers!);
+ }
+
+ renderRemotePlayers(renderRemotePlayers) {
}
moveSprite(player: Sprite, input: Input, speed: number, prevVelocity: {x: number, y:number}) {
diff --git a/client/src/sprite.ts b/client/src/sprite.ts
new file mode 100644
index 0000000..fd14a7b
--- /dev/null
+++ b/client/src/sprite.ts
@@ -0,0 +1,23 @@
+import Phaser from 'phaser';
+import type Player from './player';
+
+type PlayerSpriteConfig = {
+ scene: Phaser.Scene,
+ x: number,
+ y: number,
+ texture: Phaser.Textures.Texture | string,
+ player: Player
+}
+
+export default class PlayerSprite extends Phaser.Physics.Arcade.Sprite implements Phaser.Types.Physics.Arcade.SpriteWithDynamicBody {
+
+ body: Phaser.Physics.Arcade.Body;
+ player: Player
+
+ constructor(config: PlayerSpriteConfig) {
+ super(config.scene, config.x, config.y, config.texture);
+
+ this.body = new Phaser.Physics.Arcade.Body(config.scene.physics.world, this);
+ this.player = config.player;
+ }
+}