Move to Renderer V2

This commit is contained in:
duckietm
2024-04-03 09:27:56 +02:00
parent 110c3ad393
commit b3134ce50b
4080 changed files with 115593 additions and 66375 deletions
@@ -0,0 +1,48 @@
import { IConnection, IRoomHandlerListener, RoomControllerLevel } from '@nitrots/api';
import { RoomRightsClearEvent, RoomRightsEvent, RoomRightsOwnerEvent } from '@nitrots/communication';
import { BaseHandler } from './BaseHandler';
export class RoomPermissionsHandler extends BaseHandler
{
constructor(connection: IConnection, listener: IRoomHandlerListener)
{
super(connection, listener);
connection.addMessageEvent(new RoomRightsEvent(this.onRoomRightsEvent.bind(this)));
connection.addMessageEvent(new RoomRightsClearEvent(this.onRoomRightsClearEvent.bind(this)));
connection.addMessageEvent(new RoomRightsOwnerEvent(this.onRoomRightsOwnerEvent.bind(this)));
}
private onRoomRightsEvent(event: RoomRightsEvent): void
{
if(!(event instanceof RoomRightsEvent)) return;
const session = this.listener.getSession(this.roomId);
if(!session) return;
session.setControllerLevel(event.getParser().controllerLevel);
}
private onRoomRightsClearEvent(event: RoomRightsClearEvent): void
{
if(!(event instanceof RoomRightsClearEvent)) return;
const session = this.listener.getSession(this.roomId);
if(!session) return;
session.setControllerLevel(RoomControllerLevel.NONE);
}
private onRoomRightsOwnerEvent(event: RoomRightsOwnerEvent): void
{
if(!(event instanceof RoomRightsOwnerEvent)) return;
const session = this.listener.getSession(this.roomId);
if(!session) return;
session.setRoomOwner();
}
}