mirror of
https://github.com/billsonnn/nitro-renderer.git
synced 2024-11-26 17:30:52 +01:00
Recycler | Packets
This commit is contained in:
parent
81cfd5c56f
commit
90981f2116
File diff suppressed because one or more lines are too long
@ -0,0 +1,16 @@
|
|||||||
|
import { IMessageEvent } from '../../../../../api';
|
||||||
|
import { MessageEvent } from '../../../../../events';
|
||||||
|
import { RecyclerPrizesMessageParser } from '../../parser';
|
||||||
|
|
||||||
|
export class RecyclerPrizesMessageEvent extends MessageEvent implements IMessageEvent
|
||||||
|
{
|
||||||
|
constructor(callBack: Function)
|
||||||
|
{
|
||||||
|
super(callBack, RecyclerPrizesMessageParser);
|
||||||
|
}
|
||||||
|
|
||||||
|
public getParser(): RecyclerPrizesMessageParser
|
||||||
|
{
|
||||||
|
return this.parser as RecyclerPrizesMessageParser;
|
||||||
|
}
|
||||||
|
}
|
@ -1,2 +1,3 @@
|
|||||||
export * from './RecyclerFinishedMessageEvent';
|
export * from './RecyclerFinishedMessageEvent';
|
||||||
|
export * from './RecyclerPrizesMessageEvent';
|
||||||
export * from './RecyclerStatusMessageEvent';
|
export * from './RecyclerStatusMessageEvent';
|
||||||
|
@ -0,0 +1,21 @@
|
|||||||
|
import { IMessageComposer } from '../../../../../api';
|
||||||
|
|
||||||
|
export class GetRecyclerPrizesMessageComposer implements IMessageComposer<ConstructorParameters<typeof GetRecyclerPrizesMessageComposer>>
|
||||||
|
{
|
||||||
|
private _data: ConstructorParameters<typeof GetRecyclerPrizesMessageComposer>;
|
||||||
|
|
||||||
|
constructor()
|
||||||
|
{
|
||||||
|
this._data = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
public getMessageArray()
|
||||||
|
{
|
||||||
|
return this._data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public dispose(): void
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
@ -1,2 +1,3 @@
|
|||||||
|
export * from './GetRecyclerPrizesMessageComposer';
|
||||||
export * from './GetRecyclerStatusMessageComposer';
|
export * from './GetRecyclerStatusMessageComposer';
|
||||||
export * from './RecycleItemsMessageComposer';
|
export * from './RecycleItemsMessageComposer';
|
||||||
|
@ -0,0 +1,39 @@
|
|||||||
|
import { PrizeMessageData } from '.';
|
||||||
|
import { IMessageDataWrapper } from '../../../../../api';
|
||||||
|
|
||||||
|
export class PrizeLevelMessageData
|
||||||
|
{
|
||||||
|
private _prizeLevelId: number;
|
||||||
|
private _probabilityDenominator: number;
|
||||||
|
private _prizes: PrizeMessageData[];
|
||||||
|
|
||||||
|
constructor(wrapper: IMessageDataWrapper)
|
||||||
|
{
|
||||||
|
this._prizeLevelId = wrapper.readInt();
|
||||||
|
this._probabilityDenominator = wrapper.readInt();
|
||||||
|
this._prizes = [];
|
||||||
|
|
||||||
|
let totalPrizes: number = wrapper.readInt();
|
||||||
|
|
||||||
|
while(totalPrizes > 0)
|
||||||
|
{
|
||||||
|
this._prizes.push(new PrizeMessageData(wrapper));
|
||||||
|
totalPrizes--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public get prizeLevelId(): number
|
||||||
|
{
|
||||||
|
return this._prizeLevelId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get probabilityDenominator(): number
|
||||||
|
{
|
||||||
|
return this._probabilityDenominator;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get prizes(): PrizeMessageData[]
|
||||||
|
{
|
||||||
|
return this._prizes;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,59 @@
|
|||||||
|
import { PrizeMessageSubProduct } from '.';
|
||||||
|
import { IMessageDataWrapper } from '../../../../../api';
|
||||||
|
|
||||||
|
export class PrizeMessageData
|
||||||
|
{
|
||||||
|
private _productConfigurationSize: number = 1;
|
||||||
|
private _productCode: string;
|
||||||
|
private _subProducts: PrizeMessageSubProduct[];
|
||||||
|
private _productItemType: string;
|
||||||
|
private _productItemTypeId: number;
|
||||||
|
|
||||||
|
constructor(wrapper: IMessageDataWrapper)
|
||||||
|
{
|
||||||
|
let totalPrizes: number = wrapper.readInt();
|
||||||
|
this._subProducts = [];
|
||||||
|
|
||||||
|
this._productCode = wrapper.readString();
|
||||||
|
this._productConfigurationSize = wrapper.readInt();
|
||||||
|
|
||||||
|
if(!this.hasProductConfigurationSize)
|
||||||
|
{
|
||||||
|
this._productItemType = wrapper.readString();
|
||||||
|
this._productItemTypeId = wrapper.readInt();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
while(totalPrizes < this._productConfigurationSize)
|
||||||
|
{
|
||||||
|
this._subProducts.push(new PrizeMessageSubProduct(wrapper));
|
||||||
|
totalPrizes++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public get productItemType(): string
|
||||||
|
{
|
||||||
|
return this._productItemType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get productItemTypeId(): number
|
||||||
|
{
|
||||||
|
return this._productItemTypeId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get hasProductConfigurationSize(): boolean
|
||||||
|
{
|
||||||
|
return this._productConfigurationSize > 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get subProducts(): PrizeMessageSubProduct[]
|
||||||
|
{
|
||||||
|
return this._subProducts;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get productCode(): string
|
||||||
|
{
|
||||||
|
return this._productCode;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
import { IMessageDataWrapper } from '../../../../../api';
|
||||||
|
|
||||||
|
export class PrizeMessageSubProduct
|
||||||
|
{
|
||||||
|
private _productItemType: string;
|
||||||
|
private _productItemTypeId: number;
|
||||||
|
|
||||||
|
constructor(wrapper: IMessageDataWrapper)
|
||||||
|
{
|
||||||
|
this._productItemType = wrapper.readString();
|
||||||
|
this._productItemTypeId = wrapper.readInt();
|
||||||
|
}
|
||||||
|
|
||||||
|
public get productItemType(): string
|
||||||
|
{
|
||||||
|
return this._productItemType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get productItemTypeId(): number
|
||||||
|
{
|
||||||
|
return this._productItemTypeId;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,33 @@
|
|||||||
|
import { PrizeLevelMessageData } from '.';
|
||||||
|
import { IMessageDataWrapper, IMessageParser } from '../../../../../api';
|
||||||
|
|
||||||
|
export class RecyclerPrizesMessageParser implements IMessageParser
|
||||||
|
{
|
||||||
|
private _prizeLevels: PrizeLevelMessageData[];
|
||||||
|
|
||||||
|
public flush(): boolean
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public parse(wrapper: IMessageDataWrapper): boolean
|
||||||
|
{
|
||||||
|
if(!wrapper) return false;
|
||||||
|
|
||||||
|
let totalPrizeLevels: number = wrapper.readInt();
|
||||||
|
this._prizeLevels = [];
|
||||||
|
|
||||||
|
while(totalPrizeLevels > 0)
|
||||||
|
{
|
||||||
|
this._prizeLevels.push(new PrizeLevelMessageData(wrapper));
|
||||||
|
totalPrizeLevels--;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public get prizeLevels(): PrizeLevelMessageData[]
|
||||||
|
{
|
||||||
|
return this._prizeLevels;
|
||||||
|
}
|
||||||
|
}
|
@ -1,2 +1,6 @@
|
|||||||
|
export * from './PrizeLevelMessageData';
|
||||||
|
export * from './PrizeMessageData';
|
||||||
|
export * from './PrizeMessageSubProduct';
|
||||||
export * from './RecyclerFinishedMessageParser';
|
export * from './RecyclerFinishedMessageParser';
|
||||||
|
export * from './RecyclerPrizesMessageParser';
|
||||||
export * from './RecyclerStatusMessageParser';
|
export * from './RecyclerStatusMessageParser';
|
||||||
|
Loading…
Reference in New Issue
Block a user