Merge branch 'develop' into usersLimit
# Conflicts: # back/src/Controller/IoSocketController.ts # front/src/Phaser/Game/GameScene.ts
This commit is contained in:
commit
4f8b315727
5 changed files with 542 additions and 1809 deletions
|
@ -6,7 +6,7 @@
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"tsc": "tsc",
|
"tsc": "tsc",
|
||||||
"dev": "ts-node-dev --respawn ./server.ts",
|
"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",
|
"profile": "tsc && node --prof ./dist/server.js",
|
||||||
"test": "ts-node node_modules/jasmine/bin/jasmine --config=jasmine.json",
|
"test": "ts-node node_modules/jasmine/bin/jasmine --config=jasmine.json",
|
||||||
"lint": "node_modules/.bin/eslint src/ . --ext .ts",
|
"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 {
|
public isEmpty(): boolean {
|
||||||
return this.users.size === 0;
|
return this.users.size === 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ import {RoomConnection} from "../front/src/Connexion/RoomConnection";
|
||||||
import {connectionManager} from "../front/src/Connexion/ConnectionManager";
|
import {connectionManager} from "../front/src/Connexion/ConnectionManager";
|
||||||
import * as WebSocket from "ws"
|
import * as WebSocket from "ws"
|
||||||
|
|
||||||
|
|
||||||
function sleep(ms) {
|
function sleep(ms) {
|
||||||
return new Promise(resolve => setTimeout(resolve, ms));
|
return new Promise(resolve => setTimeout(resolve, ms));
|
||||||
}
|
}
|
||||||
|
@ -11,15 +12,18 @@ RoomConnection.setWebsocketFactory((url: string) => {
|
||||||
});
|
});
|
||||||
|
|
||||||
async function startOneUser(): Promise<void> {
|
async function startOneUser(): Promise<void> {
|
||||||
const connection = await connectionManager.connectToRoomSocket();
|
await connectionManager.anonymousLogin(true);
|
||||||
connection.emitPlayerDetailsMessage('foo', ['male3']);
|
const connection = await connectionManager.connectToRoomSocket(process.env.ROOM_ID ? process.env.ROOM_ID : '_/global/maps.workadventure.localhost/Floor0/floor0.json', 'TEST', ['male3'],
|
||||||
|
{
|
||||||
await connection.joinARoom('global__maps.workadventure.localhost/Floor0/floor0', 783, 170, 'down', true, {
|
x: 783,
|
||||||
|
y: 170
|
||||||
|
}, {
|
||||||
top: 0,
|
top: 0,
|
||||||
bottom: 200,
|
bottom: 200,
|
||||||
left: 500,
|
left: 500,
|
||||||
right: 800
|
right: 800
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log(connection.getUserId());
|
console.log(connection.getUserId());
|
||||||
|
|
||||||
let angle = Math.random() * Math.PI * 2;
|
let angle = Math.random() * Math.PI * 2;
|
||||||
|
|
2274
benchmark/package-lock.json
generated
2274
benchmark/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -1183,32 +1183,21 @@ export class GameScene extends ResizableScene implements CenterListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
private doShareGroupPosition(groupPositionMessage: GroupCreatedUpdatedMessageInterface) {
|
private doShareGroupPosition(groupPositionMessage: GroupCreatedUpdatedMessageInterface) {
|
||||||
const groupId = groupPositionMessage.groupId;
|
//delete previous group
|
||||||
const groupSize = groupPositionMessage.groupSize;
|
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
|
// TODO: circle radius should not be hard stored
|
||||||
const positionX = 48;
|
//create new group
|
||||||
const positionY = 48;
|
|
||||||
|
|
||||||
console.log('doShareGroupPosition', groupSize);
|
|
||||||
let texture = 'circleSprite-red';
|
|
||||||
if(groupSize < 4){
|
|
||||||
texture = 'circleSprite-white';
|
|
||||||
}
|
|
||||||
const sprite = new Sprite(
|
const sprite = new Sprite(
|
||||||
this,
|
this,
|
||||||
Math.round(groupPositionMessage.position.x),
|
Math.round(groupPositionMessage.position.x),
|
||||||
Math.round(groupPositionMessage.position.y),
|
Math.round(groupPositionMessage.position.y),
|
||||||
texture
|
groupPositionMessage.groupSize === 4 ? 'circleSprite-red' : 'circleSprite-white'
|
||||||
);
|
);
|
||||||
sprite.setDisplayOrigin(positionX, positionY);
|
sprite.setDisplayOrigin(48, 48);
|
||||||
this.add.existing(sprite);
|
this.add.existing(sprite);
|
||||||
this.groups.set(groupId, sprite);
|
this.groups.set(groupPositionMessage.groupId, sprite);
|
||||||
}
|
return sprite;
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteGroup(groupId: number): void {
|
deleteGroup(groupId: number): void {
|
||||||
|
|
Loading…
Reference in a new issue