much cleaner approach to group lock update

This commit is contained in:
Hanusiak Piotr
2022-03-10 12:20:53 +01:00
parent 3a5aa3c3c5
commit 5a8cba24fa
12 changed files with 13 additions and 107 deletions
-5
View File
@@ -48,11 +48,6 @@ export interface GroupCreatedUpdatedMessageInterface {
locked: boolean;
}
export interface LockGroupMessageInterface {
groupId: number;
lock: boolean;
}
export interface GroupUsersUpdateMessageInterface {
groupId: number;
userIds: number[];
-8
View File
@@ -40,7 +40,6 @@ import {
PositionMessage_Direction,
SetPlayerDetailsMessage as SetPlayerDetailsMessageTsProto,
PingMessage as PingMessageTsProto,
LockGroupMessage,
} from "../Messages/ts-proto-generated/messages";
import { Subject } from "rxjs";
@@ -102,9 +101,6 @@ export class RoomConnection implements RoomConnection {
private readonly _groupUsersUpdateMessageStream = new Subject<GroupUsersUpdateMessageInterface>();
public readonly groupUsersUpdateMessageStream = this._groupUsersUpdateMessageStream.asObservable();
private readonly _lockGroupMessageStream = new Subject<LockGroupMessage>();
public readonly lockGroupMessageStream = this._lockGroupMessageStream.asObservable();
private readonly _groupDeleteMessageStream = new Subject<GroupDeleteMessageTsProto>();
public readonly groupDeleteMessageStream = this._groupDeleteMessageStream.asObservable();
@@ -268,10 +264,6 @@ export class RoomConnection implements RoomConnection {
this._emoteEventMessageStream.next(subMessage.emoteEventMessage);
break;
}
case "lockGroupMessage": {
this._lockGroupMessageStream.next(subMessage.lockGroupMessage);
break;
}
case "playerDetailsUpdatedMessage": {
this._playerDetailsUpdatedMessageStream.next(subMessage.playerDetailsUpdatedMessage);
break;
-31
View File
@@ -51,7 +51,6 @@ import { PathfindingManager } from "../../Utils/PathfindingManager";
import { ActivatablesManager } from "./ActivatablesManager";
import type {
GroupCreatedUpdatedMessageInterface,
LockGroupMessageInterface,
MessageUserMovedInterface,
MessageUserPositionInterface,
OnConnectInterface,
@@ -134,11 +133,6 @@ interface DeleteGroupEventInterface {
groupId: number;
}
interface LockGroupEventInterface {
type: "LockGroupEvent";
event: LockGroupMessageInterface;
}
interface PlayerDetailsUpdatedInterface {
type: "PlayerDetailsUpdated";
details: PlayerDetailsUpdatedMessageInterface;
@@ -163,7 +157,6 @@ export class GameScene extends DirtyScene {
| UserMovedEventInterface
| GroupCreatedUpdatedEventInterface
| DeleteGroupEventInterface
| LockGroupEventInterface
| PlayerDetailsUpdatedInterface
>();
private initPosition: PositionInterface | null = null;
@@ -808,10 +801,6 @@ export class GameScene extends DirtyScene {
}
});
this.connection.lockGroupMessageStream.subscribe((message) => {
this.lockGroup(message);
});
this.connection.onServerDisconnected(() => {
console.log("Player disconnected from server. Reloading scene.");
this.cleanupClosingScene();
@@ -1847,10 +1836,6 @@ ${escapedMessage}
currentPlayerGroupLockStateStore.set(undefined);
break;
}
case "LockGroupEvent": {
this.doLockGroup(event.event);
break;
}
default: {
const tmp: never = event;
}
@@ -2049,22 +2034,6 @@ ${escapedMessage}
this.groups.delete(groupId);
}
lockGroup(event: LockGroupMessageInterface): void {
this.pendingEvents.enqueue({
type: "LockGroupEvent",
event,
});
}
doLockGroup(event: LockGroupMessageInterface): void {
const group = this.groups.get(event.groupId);
if (!group) {
return;
}
currentPlayerGroupLockStateStore.set(event.lock);
group.setTexture(event.lock ? "circleSprite-red" : "circleSprite-white");
}
doUpdatePlayerDetails(message: PlayerDetailsUpdatedMessageInterface): void {
const character = this.MapPlayersByKey.get(message.userId);
if (character === undefined) {