workadventure/front/src/Phaser/Entity/RemotePlayer.ts

40 lines
1.2 KiB
TypeScript
Raw Normal View History

2020-06-04 18:54:34 +02:00
import {GameScene} from "../Game/GameScene";
2020-09-25 18:29:22 +02:00
import {PointInterface} from "../../Connexion/ConnexionModels";
2020-06-04 18:54:34 +02:00
import {Character} from "../Entity/Character";
/**
* Class representing the sprite of a remote player (a player that plays on another computer)
*/
export class RemotePlayer extends Character {
userId: number;
2020-06-04 18:54:34 +02:00
constructor(
userId: number,
2020-06-04 18:54:34 +02:00
Scene: GameScene,
x: number,
y: number,
name: string,
texturesPromise: Promise<string[]>,
2020-06-04 18:54:34 +02:00
direction: string,
moving: boolean
) {
super(Scene, x, y, texturesPromise, name, direction, moving, 1);
2020-06-04 18:54:34 +02:00
//set data
this.userId = userId;
//todo: implement on click action
/*this.playerName.setInteractive();
this.playerName.on('pointerup', () => {
});*/
2020-06-04 18:54:34 +02:00
}
updatePosition(position: PointInterface): void {
this.playAnimation(position.direction, position.moving);
this.setX(position.x);
this.setY(position.y);
this.setDepth(position.y); //this is to make sure the perspective (player models closer the bottom of the screen will appear in front of models nearer the top of the screen).
2020-06-04 18:54:34 +02:00
}
}