You've already forked Nitro_Render_V3
mirror of
https://github.com/duckietm/Nitro_Render_V3.git
synced 2026-06-20 07:26:18 +00:00
Move to Renderer V2
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user