refactor: informing API
This commit is contained in:
parent
b7dcb30f22
commit
9de78bb35e
|
@ -44,14 +44,7 @@ export default (flecks) => {
|
||||||
this.$$synchronizer.cleanPackets();
|
this.$$synchronizer.cleanPackets();
|
||||||
},
|
},
|
||||||
|
|
||||||
inform: async (socket) => {
|
informedPackets: () => this.$$synchronizer.packetsFor(this.entity),
|
||||||
if (socket) {
|
|
||||||
const packets = this.$$synchronizer.packetsFor(this.entity);
|
|
||||||
if (packets.length > 0) {
|
|
||||||
await socket.send(['Bundle', packets]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
startInformingAbout: (synchronized) => {
|
startInformingAbout: (synchronized) => {
|
||||||
this.$$synchronizer.startSynchronizing(synchronized);
|
this.$$synchronizer.startSynchronizing(synchronized);
|
||||||
|
|
|
@ -102,13 +102,16 @@ export default class Universe {
|
||||||
|
|
||||||
async inform() {
|
async inform() {
|
||||||
for (let i = 0; i < this.$$players.length; ++i) {
|
for (let i = 0; i < this.$$players.length; ++i) {
|
||||||
this.$$players[i].inform();
|
const packets = this.$$players[i].entity.informedPackets();
|
||||||
|
if (packets.length > 0) {
|
||||||
|
this.$$players[i].socket.send(['Bundle', packets]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for (let i = 0; i < this.$$roomsFlat.length; i++) {
|
for (let i = 0; i < this.$$roomsFlat.length; i++) {
|
||||||
this.$$roomsFlat[i].cleanPackets();
|
this.$$roomsFlat[i].cleanPackets();
|
||||||
}
|
}
|
||||||
for (let i = 0; i < this.$$players.length; ++i) {
|
for (let i = 0; i < this.$$players.length; ++i) {
|
||||||
this.$$players[i].cleanInformingPackets();
|
this.$$players[i].entity.cleanInformingPackets();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,7 +169,7 @@ export default class Universe {
|
||||||
removePlayer(player) {
|
removePlayer(player) {
|
||||||
const {entity} = player;
|
const {entity} = player;
|
||||||
const room = this.room(entity.currentRoom);
|
const room = this.room(entity.currentRoom);
|
||||||
entity.stopInforming(room);
|
entity.stopInformingAbout(room);
|
||||||
room.removeEntity(entity);
|
room.removeEntity(entity);
|
||||||
const index = this.$$players.indexOf(player);
|
const index = this.$$players.indexOf(player);
|
||||||
if (-1 !== index) {
|
if (-1 !== index) {
|
||||||
|
|
|
@ -20,12 +20,4 @@ export default class Player extends decorate(Class) {
|
||||||
socket.once('disconnect', emitRemove);
|
socket.once('disconnect', emitRemove);
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanInformingPackets() {
|
|
||||||
this.entity.cleanInformingPackets();
|
|
||||||
}
|
|
||||||
|
|
||||||
inform() {
|
|
||||||
this.entity.inform(this.socket);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user