You've already forked Nitro_Render_V3
mirror of
https://github.com/duckietm/Nitro_Render_V3.git
synced 2026-06-19 23:16:20 +00:00
Move to Renderer V2
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
import { IIgnoredUsersManager } from '@nitrots/api';
|
||||
import { GetCommunication, GetIgnoredUsersComposer, IgnoreResultEvent, IgnoreUserComposer, IgnoreUserIdComposer, IgnoredUsersEvent, UnignoreUserComposer } from '@nitrots/communication';
|
||||
|
||||
export class IgnoredUsersManager implements IIgnoredUsersManager
|
||||
{
|
||||
private _ignoredUsers: string[] = [];
|
||||
|
||||
public init(): void
|
||||
{
|
||||
GetCommunication().registerMessageEvent(new IgnoredUsersEvent(this.onIgnoredUsersEvent.bind(this)));
|
||||
GetCommunication().registerMessageEvent(new IgnoreResultEvent(this.onIgnoreResultEvent.bind(this)));
|
||||
}
|
||||
|
||||
public requestIgnoredUsers(username: string): void
|
||||
{
|
||||
GetCommunication().connection.send(new GetIgnoredUsersComposer(username));
|
||||
}
|
||||
|
||||
private onIgnoredUsersEvent(event: IgnoredUsersEvent): void
|
||||
{
|
||||
if(!event) return;
|
||||
|
||||
const parser = event.getParser();
|
||||
|
||||
if(!parser) return;
|
||||
|
||||
this._ignoredUsers = parser.ignoredUsers;
|
||||
}
|
||||
|
||||
private onIgnoreResultEvent(event: IgnoreResultEvent): void
|
||||
{
|
||||
if(!event) return;
|
||||
|
||||
const parser = event.getParser();
|
||||
|
||||
if(!parser) return;
|
||||
|
||||
const name = parser.name;
|
||||
|
||||
switch(parser.result)
|
||||
{
|
||||
case 0:
|
||||
return;
|
||||
case 1:
|
||||
this.addUserToIgnoreList(name);
|
||||
return;
|
||||
case 2:
|
||||
this.addUserToIgnoreList(name);
|
||||
this._ignoredUsers.shift();
|
||||
return;
|
||||
case 3:
|
||||
this.removeUserFromIgnoreList(name);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
private addUserToIgnoreList(name: string): void
|
||||
{
|
||||
if(this._ignoredUsers.indexOf(name) < 0) this._ignoredUsers.push(name);
|
||||
}
|
||||
|
||||
private removeUserFromIgnoreList(name: string): void
|
||||
{
|
||||
const index = this._ignoredUsers.indexOf(name);
|
||||
|
||||
if(index >= 0) this._ignoredUsers.splice(index, 1);
|
||||
}
|
||||
|
||||
public ignoreUserId(id: number): void
|
||||
{
|
||||
GetCommunication().connection.send(new IgnoreUserIdComposer(id));
|
||||
}
|
||||
|
||||
public ignoreUser(name: string): void
|
||||
{
|
||||
GetCommunication().connection.send(new IgnoreUserComposer(name));
|
||||
}
|
||||
|
||||
public unignoreUser(name: string): void
|
||||
{
|
||||
GetCommunication().connection.send(new UnignoreUserComposer(name));
|
||||
}
|
||||
|
||||
public isIgnored(name: string): boolean
|
||||
{
|
||||
return (this._ignoredUsers.indexOf(name) >= 0);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user