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,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;
}
}
@@ -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';