Updating GroupDescriptors on LockGroupMessage

This commit is contained in:
Hanusiak Piotr
2022-03-03 12:22:16 +01:00
parent a0205bf682
commit a0535ed4a8
9 changed files with 40 additions and 24 deletions
+1
View File
@@ -63,6 +63,7 @@ export class PositionDispatcher {
const addedZones = [...newZones].filter((x) => !oldZones.has(x));
const removedZones = [...oldZones].filter((x) => !newZones.has(x));
console.log("START LISTENING");
for (const zone of addedZones) {
zone.startListening(socket);
}
+12 -2
View File
@@ -140,6 +140,10 @@ export class GroupDescriptor {
return new GroupDescriptor(message.getGroupid(), message.getGroupsize(), position, message.getLocked());
}
public updateFromLockGroupMessage(message: LockGroupMessage): void {
this.locked = message.getLock();
}
public update(groupDescriptor: GroupDescriptor) {
this.groupSize = groupDescriptor.groupSize;
this.position = groupDescriptor.position;
@@ -214,11 +218,17 @@ export class Zone {
this.notifyGroupMove(groupDescriptor);
} else {
this.groups.set(groupId, groupDescriptor);
const fromZone = groupUpdateZoneMessage.getFromzone();
this.notifyGroupEnter(groupDescriptor, fromZone?.toObject());
}
} else if (message.hasLockgroupmessage()) {
const lockGroupMessage = message.getLockgroupmessage() as LockGroupMessage;
const groupId = lockGroupMessage.getGroupid();
const oldGroupDescriptor = this.groups.get(groupId);
if (oldGroupDescriptor !== undefined) {
oldGroupDescriptor.updateFromLockGroupMessage(lockGroupMessage);
this.notifyLockGroup(lockGroupMessage);
}
} else if (message.hasUserleftzonemessage()) {
const userLeftMessage = message.getUserleftzonemessage() as UserLeftZoneMessage;
this.users.delete(userLeftMessage.getUserid());