Files
Nitro_Render_V3/packages/communication/src/messages/parser/roomevents/Triggerable.ts
T
2024-04-03 09:27:56 +02:00

101 lines
2.0 KiB
TypeScript

import { IMessageDataWrapper } from '@nitrots/api';
export class Triggerable
{
private _stuffTypeSelectionEnabled: boolean;
private _furniLimit: number;
private _stuffIds: number[];
private _id: number;
private _stringParam: string;
private _intParams: number[];
private _stuffTypeId: number;
private _stuffTypeSelectionCode: number;
constructor(wrapper: IMessageDataWrapper)
{
this._stuffIds = [];
this._intParams = [];
this._stuffTypeSelectionEnabled = wrapper.readBoolean();
this._furniLimit = wrapper.readInt();
let count = wrapper.readInt();
while(count > 0)
{
this._stuffIds.push(wrapper.readInt());
count--;
}
this._stuffTypeId = wrapper.readInt();
this._id = wrapper.readInt();
this._stringParam = wrapper.readString();
count = wrapper.readInt();
while(count > 0)
{
this._intParams.push(wrapper.readInt());
count--;
}
this._stuffTypeSelectionCode = wrapper.readInt();
}
public getBoolean(index: number): boolean
{
return (this._intParams[index] === 1);
}
public get stuffTypeSelectionEnabled(): boolean
{
return this._stuffTypeSelectionEnabled;
}
public get stuffTypeSelectionCode(): number
{
return this._stuffTypeSelectionCode;
}
public set stuffTypeSelectionCode(k: number)
{
this._stuffTypeSelectionCode = k;
}
public get maximumItemSelectionCount(): number
{
return this._furniLimit;
}
public get selectedItems(): number[]
{
return this._stuffIds;
}
public get id(): number
{
return this._id;
}
public get stringData(): string
{
return this._stringParam;
}
public get intData(): number[]
{
return this._intParams;
}
public get code(): number
{
return 0;
}
public get spriteId(): number
{
return this._stuffTypeId;
}
}