Merge branch 'develop' into usersLimit
# Conflicts: # back/src/Controller/IoSocketController.ts # front/src/Phaser/Game/GameScene.ts
This commit is contained in:
commit
4f8b315727
|
@ -6,7 +6,7 @@
|
|||
"scripts": {
|
||||
"tsc": "tsc",
|
||||
"dev": "ts-node-dev --respawn ./server.ts",
|
||||
"prod": "tsc && node ./dist/server.js",
|
||||
"prod": "tsc && node --max-old-space-size=4096 ./dist/server.js",
|
||||
"profile": "tsc && node --prof ./dist/server.js",
|
||||
"test": "ts-node node_modules/jasmine/bin/jasmine --config=jasmine.json",
|
||||
"lint": "node_modules/.bin/eslint src/ . --ext .ts",
|
||||
|
|
|
@ -109,6 +109,10 @@ export class GameRoom {
|
|||
}
|
||||
}
|
||||
|
||||
get isFull(): boolean {
|
||||
return this.users.size >= MAX_USERS_PER_ROOM;
|
||||
}
|
||||
|
||||
public isEmpty(): boolean {
|
||||
return this.users.size === 0;
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ import {RoomConnection} from "../front/src/Connexion/RoomConnection";
|
|||
import {connectionManager} from "../front/src/Connexion/ConnectionManager";
|
||||
import * as WebSocket from "ws"
|
||||
|
||||
|
||||
function sleep(ms) {
|
||||
return new Promise(resolve => setTimeout(resolve, ms));
|
||||
}
|
||||
|
@ -11,15 +12,18 @@ RoomConnection.setWebsocketFactory((url: string) => {
|
|||
});
|
||||
|
||||
async function startOneUser(): Promise<void> {
|
||||
const connection = await connectionManager.connectToRoomSocket();
|
||||
connection.emitPlayerDetailsMessage('foo', ['male3']);
|
||||
await connectionManager.anonymousLogin(true);
|
||||
const connection = await connectionManager.connectToRoomSocket(process.env.ROOM_ID ? process.env.ROOM_ID : '_/global/maps.workadventure.localhost/Floor0/floor0.json', 'TEST', ['male3'],
|
||||
{
|
||||
x: 783,
|
||||
y: 170
|
||||
}, {
|
||||
top: 0,
|
||||
bottom: 200,
|
||||
left: 500,
|
||||
right: 800
|
||||
});
|
||||
|
||||
await connection.joinARoom('global__maps.workadventure.localhost/Floor0/floor0', 783, 170, 'down', true, {
|
||||
top: 0,
|
||||
bottom: 200,
|
||||
left: 500,
|
||||
right: 800
|
||||
});
|
||||
console.log(connection.getUserId());
|
||||
|
||||
let angle = Math.random() * Math.PI * 2;
|
||||
|
|
2282
benchmark/package-lock.json
generated
2282
benchmark/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -1015,9 +1015,9 @@ export class GameScene extends ResizableScene implements CenterListener {
|
|||
this.goToNextScene(nextSceneKey.key);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private goToNextScene(nextSceneKey: string): void {
|
||||
|
||||
|
||||
// We are completely destroying the current scene to avoid using a half-backed instance when coming back to the same map.
|
||||
this.connection.closeConnection();
|
||||
this.simplePeer.unregister();
|
||||
|
@ -1183,32 +1183,21 @@ export class GameScene extends ResizableScene implements CenterListener {
|
|||
}
|
||||
|
||||
private doShareGroupPosition(groupPositionMessage: GroupCreatedUpdatedMessageInterface) {
|
||||
const groupId = groupPositionMessage.groupId;
|
||||
const groupSize = groupPositionMessage.groupSize;
|
||||
//delete previous group
|
||||
this.doDeleteGroup(groupPositionMessage.groupId);
|
||||
|
||||
const group = this.groups.get(groupId);
|
||||
if (group !== undefined) {
|
||||
group.setPosition(Math.round(groupPositionMessage.position.x), Math.round(groupPositionMessage.position.y));
|
||||
} else {
|
||||
// TODO: circle radius should not be hard stored
|
||||
const positionX = 48;
|
||||
const positionY = 48;
|
||||
|
||||
console.log('doShareGroupPosition', groupSize);
|
||||
let texture = 'circleSprite-red';
|
||||
if(groupSize < 4){
|
||||
texture = 'circleSprite-white';
|
||||
}
|
||||
const sprite = new Sprite(
|
||||
this,
|
||||
Math.round(groupPositionMessage.position.x),
|
||||
Math.round(groupPositionMessage.position.y),
|
||||
texture
|
||||
);
|
||||
sprite.setDisplayOrigin(positionX, positionY);
|
||||
this.add.existing(sprite);
|
||||
this.groups.set(groupId, sprite);
|
||||
}
|
||||
// TODO: circle radius should not be hard stored
|
||||
//create new group
|
||||
const sprite = new Sprite(
|
||||
this,
|
||||
Math.round(groupPositionMessage.position.x),
|
||||
Math.round(groupPositionMessage.position.y),
|
||||
groupPositionMessage.groupSize === 4 ? 'circleSprite-red' : 'circleSprite-white'
|
||||
);
|
||||
sprite.setDisplayOrigin(48, 48);
|
||||
this.add.existing(sprite);
|
||||
this.groups.set(groupPositionMessage.groupId, sprite);
|
||||
return sprite;
|
||||
}
|
||||
|
||||
deleteGroup(groupId: number): void {
|
||||
|
|
Loading…
Reference in a new issue