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,14 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
|
||||
export class JukeboxPlayListFullMessageParser implements IMessageParser
|
||||
{
|
||||
flush(): boolean
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
import { IAdvancedMap, IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
import { AdvancedMap } from '@nitrots/utils';
|
||||
|
||||
export class JukeboxSongDisksMessageParser implements IMessageParser
|
||||
{
|
||||
private _songDisks: IAdvancedMap<number, number> = new AdvancedMap();
|
||||
private _maxLength: number;
|
||||
|
||||
flush(): boolean
|
||||
{
|
||||
this._songDisks.reset();
|
||||
this._maxLength = 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
this._maxLength = wrapper.readInt();
|
||||
const count = wrapper.readInt();
|
||||
|
||||
for(let i = 0; i < count; i++)
|
||||
{
|
||||
this._songDisks.add(wrapper.readInt(), wrapper.readInt());
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public get songDisks(): IAdvancedMap<number, number>
|
||||
{
|
||||
return this._songDisks;
|
||||
}
|
||||
|
||||
public get maxLength(): number
|
||||
{
|
||||
return this._maxLength;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
|
||||
export class NowPlayingMessageParser implements IMessageParser
|
||||
{
|
||||
private _currentSongId: number;
|
||||
private _currentPosition: number;
|
||||
private _nextSongId: number;
|
||||
private _nextPosition: number;
|
||||
private _syncCount: number;
|
||||
|
||||
flush(): boolean
|
||||
{
|
||||
this._currentSongId = -1;
|
||||
this._currentPosition = -1;
|
||||
this._nextSongId = -1;
|
||||
this._nextPosition = -1;
|
||||
this._syncCount = -1;
|
||||
return true;
|
||||
}
|
||||
|
||||
parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
this._currentSongId = wrapper.readInt();
|
||||
this._currentPosition = wrapper.readInt();
|
||||
this._nextSongId = wrapper.readInt();
|
||||
this._nextPosition = wrapper.readInt();
|
||||
this._syncCount = wrapper.readInt();
|
||||
return true;
|
||||
}
|
||||
|
||||
public get currentSongId(): number
|
||||
{
|
||||
return this._currentSongId;
|
||||
}
|
||||
|
||||
public get currentPosition(): number
|
||||
{
|
||||
return this._currentPosition;
|
||||
}
|
||||
|
||||
public get nextSongId(): number
|
||||
{
|
||||
return this._nextSongId;
|
||||
}
|
||||
|
||||
public get nextPosition(): number
|
||||
{
|
||||
return this._nextPosition;
|
||||
}
|
||||
|
||||
public get syncCount(): number
|
||||
{
|
||||
return this._syncCount;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
|
||||
export class OfficialSongIdMessageParser implements IMessageParser
|
||||
{
|
||||
private _songId: number;
|
||||
private _officialSongId: string;
|
||||
|
||||
flush(): boolean
|
||||
{
|
||||
this._songId = 0;
|
||||
this._officialSongId = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
this._officialSongId = wrapper.readString();
|
||||
this._songId = wrapper.readInt();
|
||||
return true;
|
||||
}
|
||||
|
||||
public get songId(): number
|
||||
{
|
||||
return this._songId;
|
||||
}
|
||||
|
||||
public get officialSongId(): string
|
||||
{
|
||||
return this._officialSongId;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
export class PlayListEntry
|
||||
{
|
||||
protected _id: number;
|
||||
protected _length: number;
|
||||
protected _name: string;
|
||||
protected _creator: string;
|
||||
private _startPlayHead: number = 0;
|
||||
|
||||
constructor(id: number, length: number, name: string, creator: string)
|
||||
{
|
||||
this._id = id;
|
||||
this._length = length;
|
||||
this._name = name;
|
||||
this._creator = creator;
|
||||
}
|
||||
|
||||
public get id(): number
|
||||
{
|
||||
return this._id;
|
||||
}
|
||||
|
||||
public get length(): number
|
||||
{
|
||||
return this._length;
|
||||
}
|
||||
|
||||
public get name(): string
|
||||
{
|
||||
return this._name;
|
||||
}
|
||||
|
||||
public get creator(): string
|
||||
{
|
||||
return this._creator;
|
||||
}
|
||||
|
||||
public get startPlayHeadPos(): number
|
||||
{
|
||||
return this._startPlayHead;
|
||||
}
|
||||
|
||||
public set startPlayHeadPos(k: number)
|
||||
{
|
||||
this._startPlayHead = k;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
import { PlayListEntry } from './PlayListEntry';
|
||||
|
||||
export class PlayListMessageParser implements IMessageParser
|
||||
{
|
||||
private _synchronizationCount: number;
|
||||
private _playlist: PlayListEntry[];
|
||||
|
||||
flush(): boolean
|
||||
{
|
||||
this._synchronizationCount = -1;
|
||||
this._playlist = [];
|
||||
return true;
|
||||
}
|
||||
|
||||
parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
this._synchronizationCount = wrapper.readInt();
|
||||
const count = wrapper.readInt();
|
||||
|
||||
for(let i = 0; i < count; i++)
|
||||
{
|
||||
this._playlist.push(new PlayListEntry(
|
||||
wrapper.readInt(), wrapper.readInt(), wrapper.readString(), wrapper.readString()
|
||||
));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public get synchronizationCount(): number
|
||||
{
|
||||
return this._synchronizationCount;
|
||||
}
|
||||
|
||||
public get playList(): PlayListEntry[]
|
||||
{
|
||||
return this._playlist;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
import { PlayListEntry } from './PlayListEntry';
|
||||
|
||||
export class PlayListSongAddedMessageParser implements IMessageParser
|
||||
{
|
||||
private _entry: PlayListEntry;
|
||||
|
||||
flush(): boolean
|
||||
{
|
||||
this._entry = null;
|
||||
return true;
|
||||
}
|
||||
|
||||
parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
this._entry = new PlayListEntry(wrapper.readInt(), wrapper.readInt(), wrapper.readString(), wrapper.readString());
|
||||
return true;
|
||||
}
|
||||
|
||||
public get entry(): PlayListEntry
|
||||
{
|
||||
return this._entry;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import { PlayListEntry } from './PlayListEntry';
|
||||
|
||||
export class SongInfoEntry extends PlayListEntry
|
||||
{
|
||||
private _data: string = '';
|
||||
|
||||
constructor(id: number, length: number, name: string, creator: string, data: string)
|
||||
{
|
||||
super(id, length, name, creator);
|
||||
this._data = data;
|
||||
}
|
||||
|
||||
public get data(): string
|
||||
{
|
||||
return this._data;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
import { SongInfoEntry } from './SongInfoEntry';
|
||||
|
||||
export class TraxSongInfoMessageParser implements IMessageParser
|
||||
{
|
||||
private _songs: SongInfoEntry[];
|
||||
|
||||
flush(): boolean
|
||||
{
|
||||
this._songs = [];
|
||||
return true;
|
||||
}
|
||||
|
||||
parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
const count = wrapper.readInt();
|
||||
for(let i = 0; i < count; i++)
|
||||
{
|
||||
const id = wrapper.readInt();
|
||||
const _local_3 = wrapper.readString();
|
||||
const name = wrapper.readString();
|
||||
const data = wrapper.readString();
|
||||
const length = wrapper.readInt();
|
||||
const creator = wrapper.readString();
|
||||
const _local_10 = new SongInfoEntry(id, length, name, creator, data);
|
||||
this._songs.push(_local_10);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public get songs(): SongInfoEntry[]
|
||||
{
|
||||
return this._songs;
|
||||
}
|
||||
}
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
import { IAdvancedMap, IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
import { AdvancedMap } from '@nitrots/utils';
|
||||
|
||||
export class UserSongDisksInventoryMessageParser implements IMessageParser
|
||||
{
|
||||
private _songDiskInventory: IAdvancedMap<number, number> = new AdvancedMap();
|
||||
|
||||
flush(): boolean
|
||||
{
|
||||
this._songDiskInventory.reset();
|
||||
return true;
|
||||
}
|
||||
|
||||
parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
const count = wrapper.readInt();
|
||||
|
||||
for(let i = 0; i < count; i++)
|
||||
{
|
||||
this._songDiskInventory.add(wrapper.readInt(), wrapper.readInt());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public getDiskId(k: number): number
|
||||
{
|
||||
if(((k >= 0) && (k < this._songDiskInventory.length)))
|
||||
{
|
||||
return this._songDiskInventory.getKey(k);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public getSongId(k: number): number
|
||||
{
|
||||
if(((k >= 0) && (k < this._songDiskInventory.length)))
|
||||
{
|
||||
return this._songDiskInventory.getWithIndex(k);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public get songDiskCount(): number
|
||||
{
|
||||
return this._songDiskInventory.length;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
export * from './JukeboxPlayListFullMessageParser';
|
||||
export * from './JukeboxSongDisksMessageParser';
|
||||
export * from './NowPlayingMessageParser';
|
||||
export * from './OfficialSongIdMessageParser';
|
||||
export * from './PlayListEntry';
|
||||
export * from './PlayListMessageParser';
|
||||
export * from './PlayListSongAddedMessageParser';
|
||||
export * from './SongInfoEntry';
|
||||
export * from './TraxSongInfoMessageParser';
|
||||
export * from './UserSongDisksInventoryMessageParser';
|
||||
Reference in New Issue
Block a user