From bbc3935d60e0cbb82e3fefff8b16d4b86ab9ff20 Mon Sep 17 00:00:00 2001 From: gparant Date: Sun, 12 Apr 2020 13:57:00 +0200 Subject: [PATCH] Fix feedback @kharhamel --- front/src/Connexion.ts | 29 ++++++++++++++++---------- front/src/Phaser/Game/CameraManager.ts | 1 - front/src/Phaser/Game/GameManager.ts | 6 +++--- front/src/Phaser/Game/MapManager.ts | 8 +++---- front/src/Phaser/Player/Player.ts | 24 ++++++++++++++++++--- 5 files changed, 46 insertions(+), 22 deletions(-) diff --git a/front/src/Connexion.ts b/front/src/Connexion.ts index 707d31c4..0d9f998a 100644 --- a/front/src/Connexion.ts +++ b/front/src/Connexion.ts @@ -99,8 +99,18 @@ class ListMessageUserPosition{ }); } } - -export class Connexion { +export interface ConnexionInterface { + socket : any; + token : string; + email : string; + userId: string; + startedRoom : string; + createConnexion() : Promise; + joinARoom(roomId : string) : void; + sharePosition(roomId : string, x : number, y : number, direction : string) : void; + positionOfAllUser() : void; +} +export class Connexion implements ConnexionInterface{ socket : any; token : string; email : string; @@ -114,7 +124,7 @@ export class Connexion { this.GameManager = GameManager; } - createConnexion(){ + createConnexion() : Promise{ return Axios.post(`${API_URL}/login`, {email: this.email}) .then((res) => { this.token = res.data.token; @@ -137,10 +147,7 @@ export class Connexion { this.errorMessage(); - return{ - userId: this.userId, - roomId: this.startedRoom - } + return this; }) .catch((err) => { console.error(err); @@ -152,7 +159,7 @@ export class Connexion { * Permit to join a room * @param roomId */ - joinARoom(roomId : string){ + joinARoom(roomId : string) : void { let messageUserPosition = new MessageUserPosition(this.userId, this.startedRoom, new Point(0, 0)); this.socket.emit('join-room', messageUserPosition.toString()); } @@ -164,7 +171,7 @@ export class Connexion { * @param y * @param direction */ - sharePosition(roomId : string, x : number, y : number, direction : string = "none"){ + sharePosition(roomId : string, x : number, y : number, direction : string = "none") : void{ if(!this.socket){ return; } @@ -187,7 +194,7 @@ export class Connexion { * ... * ] **/ - positionOfAllUser() { + positionOfAllUser() : void { this.socket.on("user-position", (message: string) => { let dataList = JSON.parse(message); dataList.forEach((UserPositions: any) => { @@ -197,7 +204,7 @@ export class Connexion { }); } - errorMessage(){ + errorMessage() : void { this.socket.on('message-error', (message : string) => { console.error("message-error", message); }) diff --git a/front/src/Phaser/Game/CameraManager.ts b/front/src/Phaser/Game/CameraManager.ts index b1585542..a52554e5 100644 --- a/front/src/Phaser/Game/CameraManager.ts +++ b/front/src/Phaser/Game/CameraManager.ts @@ -1,7 +1,6 @@ import {RESOLUTION} from "../../Enum/EnvironmentVariable"; import {Player} from "../Player/Player"; import {MapManagerInterface} from "./MapManager"; -import {PlayerAnimationNames} from "../Player/Animation"; export interface CameraManagerInterface { MapManager : MapManagerInterface; diff --git a/front/src/Phaser/Game/GameManager.ts b/front/src/Phaser/Game/GameManager.ts index 2ab1d0d7..71a3cbe3 100644 --- a/front/src/Phaser/Game/GameManager.ts +++ b/front/src/Phaser/Game/GameManager.ts @@ -1,13 +1,13 @@ import {GameSceneInterface, GameScene} from "./GameScene"; import {ROOM} from "../../Enum/EnvironmentVariable" -import {Connexion, ListMessageUserPositionInterface} from "../../Connexion"; +import {Connexion, ConnexionInterface, ListMessageUserPositionInterface} from "../../Connexion"; export enum StatusGameManagerEnum { IN_PROGRESS = 1, CURRENT_USER_CREATED = 2 } -export let ConnexionInstance : Connexion; +export let ConnexionInstance : ConnexionInterface; export interface GameManagerInterface { GameScenes: Array; @@ -25,7 +25,7 @@ export class GameManager implements GameManagerInterface { } createGame(){ - return ConnexionInstance.createConnexion().then((data: any) => { + return ConnexionInstance.createConnexion().then(() => { this.configureGame(); /** TODO add loader in the page **/ }).catch((err) => { diff --git a/front/src/Phaser/Game/MapManager.ts b/front/src/Phaser/Game/MapManager.ts index 99ce2863..a66e0d37 100644 --- a/front/src/Phaser/Game/MapManager.ts +++ b/front/src/Phaser/Game/MapManager.ts @@ -1,6 +1,6 @@ import {CameraManager, CameraManagerInterface} from "./CameraManager"; import {RESOLUTION} from "../../Enum/EnvironmentVariable"; -import {Player} from "../Player/Player"; +import {CurrentGamerInterface, GamerInterface, Player} from "../Player/Player"; import {GameSceneInterface} from "./GameScene"; import {MessageUserPositionInterface} from "../../Connexion"; @@ -37,8 +37,8 @@ export class MapManager implements MapManagerInterface{ Terrain : Phaser.Tilemaps.Tileset; Camera: CameraManagerInterface; - CurrentPlayer: Player; - MapPlayers : Player[]; + CurrentPlayer: CurrentGamerInterface; + MapPlayers : GamerInterface[]; Scene: GameSceneInterface; Map: Phaser.Tilemaps.Tilemap; startX = (window.innerWidth / 2) / RESOLUTION; @@ -59,7 +59,7 @@ export class MapManager implements MapManagerInterface{ //initialise camera this.Camera = new CameraManager(this.Scene, this.Scene.cameras.main, this); //initialise list of other player - this.MapPlayers = new Array(); + this.MapPlayers = new Array(); } createCurrentPlayer(UserId : string){ diff --git a/front/src/Phaser/Player/Player.ts b/front/src/Phaser/Player/Player.ts index 74db636d..f256bbf4 100644 --- a/front/src/Phaser/Player/Player.ts +++ b/front/src/Phaser/Player/Player.ts @@ -5,7 +5,25 @@ import {ConnexionInstance} from "../Game/GameManager"; import {CameraManagerInterface} from "../Game/CameraManager"; import {MessageUserPositionInterface} from "../../Connexion"; -export class Player extends Phaser.GameObjects.Sprite{ +export interface CurrentGamerInterface{ + userId : string; + MapManager : MapManagerInterface; + PlayerValue : string; + CameraManager: CameraManagerInterface; + initAnimation() : void; + move() : void; +} + +export interface GamerInterface{ + userId : string; + MapManager : MapManagerInterface; + PlayerValue : string; + CameraManager: CameraManagerInterface; + initAnimation() : void; + updatePosition(MessageUserPosition : MessageUserPositionInterface) : void; +} + +export class Player extends Phaser.GameObjects.Sprite implements CurrentGamerInterface, GamerInterface{ userId : string; MapManager : MapManagerInterface; PlayerValue : string; @@ -28,7 +46,7 @@ export class Player extends Phaser.GameObjects.Sprite{ this.CameraManager = CameraManager; } - initAnimation(){ + initAnimation() : void{ getPlayerAnimations(this.PlayerValue).forEach(d => { this.scene.anims.create({ key: d.key, @@ -39,7 +57,7 @@ export class Player extends Phaser.GameObjects.Sprite{ }) } - move(){ + move() : void{ //if user client on shift, camera and player speed let speedMultiplier = this.MapManager.keyShift.isDown ? 5 : 1; let haveMove = false;