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,75 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
import { TalentTrackRewardPerk } from './TalentTrackRewardPerk';
|
||||
import { TalentTrackRewardProduct } from './TalentTrackRewardProduct';
|
||||
|
||||
export class TalentLevelUpMessageParser implements IMessageParser
|
||||
{
|
||||
private _talentTrackName: string;
|
||||
private _level: number;
|
||||
private _rewardPerks: TalentTrackRewardPerk[];
|
||||
private _rewardProducts: TalentTrackRewardProduct[];
|
||||
|
||||
public flush(): boolean
|
||||
{
|
||||
this._talentTrackName = null;
|
||||
this._level = -1;
|
||||
this._rewardPerks = [];
|
||||
this._rewardProducts = [];
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
if(!wrapper) return false;
|
||||
|
||||
let totalRewards = 0;
|
||||
|
||||
this._talentTrackName = wrapper.readString();
|
||||
this._level = wrapper.readInt();
|
||||
|
||||
const totalRewardsPerks = wrapper.readInt();
|
||||
|
||||
while(totalRewards < totalRewardsPerks)
|
||||
{
|
||||
this._rewardPerks.push(new TalentTrackRewardPerk(wrapper));
|
||||
totalRewards++;
|
||||
}
|
||||
|
||||
const totalRewardsProducts = wrapper.readInt();
|
||||
|
||||
if(totalRewards < totalRewardsProducts)
|
||||
{
|
||||
for(let i = 0; i < totalRewardsProducts; i++)
|
||||
{
|
||||
const name = wrapper.readString();
|
||||
const vipDays = wrapper.readInt();
|
||||
|
||||
this._rewardProducts.push(new TalentTrackRewardProduct(name, vipDays));
|
||||
totalRewards++;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public get talentTrackName(): string
|
||||
{
|
||||
return this._talentTrackName;
|
||||
}
|
||||
|
||||
public get level(): number
|
||||
{
|
||||
return this._level;
|
||||
}
|
||||
|
||||
public get rewardPerks(): TalentTrackRewardPerk[]
|
||||
{
|
||||
return this._rewardPerks;
|
||||
}
|
||||
|
||||
public get rewardProducts(): TalentTrackRewardProduct[]
|
||||
{
|
||||
return this._rewardProducts;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
import { TalentTrackRewardProduct } from './TalentTrackRewardProduct';
|
||||
import { TalentTrackTask } from './TalentTrackTask';
|
||||
|
||||
export class TalentTrackLevel
|
||||
{
|
||||
private _level: number;
|
||||
private _state: number;
|
||||
private _tasks: TalentTrackTask[];
|
||||
private _rewardPerks: string[];
|
||||
private _rewardProducts: TalentTrackRewardProduct[];
|
||||
|
||||
constructor(level: number, state: number, achievements: TalentTrackTask[], perks: string[], items: TalentTrackRewardProduct[])
|
||||
{
|
||||
this._level = level;
|
||||
this._state = state;
|
||||
this._tasks = achievements;
|
||||
this._rewardPerks = perks;
|
||||
this._rewardProducts = items;
|
||||
}
|
||||
|
||||
public get level(): number
|
||||
{
|
||||
return this._level;
|
||||
}
|
||||
|
||||
public get state(): number
|
||||
{
|
||||
return this._state;
|
||||
}
|
||||
|
||||
public get tasks(): TalentTrackTask[]
|
||||
{
|
||||
return this._tasks;
|
||||
}
|
||||
|
||||
public get perks(): string[]
|
||||
{
|
||||
return this._rewardPerks;
|
||||
}
|
||||
|
||||
public get items(): TalentTrackRewardProduct[]
|
||||
{
|
||||
return this._rewardProducts;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
|
||||
export class TalentTrackLevelMessageParser implements IMessageParser
|
||||
{
|
||||
private _talentTrackName: string;
|
||||
private _level: number;
|
||||
private _maxLevel: number;
|
||||
|
||||
public flush(): boolean
|
||||
{
|
||||
this._talentTrackName = null;
|
||||
this._level = -1;
|
||||
this._maxLevel = -1;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
if(!wrapper) return false;
|
||||
|
||||
this._talentTrackName = wrapper.readString();
|
||||
this._level = wrapper.readInt();
|
||||
this._maxLevel = wrapper.readInt();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public get talentTrackName(): string
|
||||
{
|
||||
return this._talentTrackName;
|
||||
}
|
||||
|
||||
public get level(): number
|
||||
{
|
||||
return this._level;
|
||||
}
|
||||
|
||||
public get maxLevel(): number
|
||||
{
|
||||
return this._maxLevel;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
|
||||
import { TalentTrackLevel } from './TalentTrackLevel';
|
||||
import { TalentTrackRewardProduct } from './TalentTrackRewardProduct';
|
||||
import { TalentTrackTask } from './TalentTrackTask';
|
||||
|
||||
export class TalentTrackParser implements IMessageParser
|
||||
{
|
||||
private _type: string;
|
||||
private _levels: TalentTrackLevel[];
|
||||
|
||||
public flush(): boolean
|
||||
{
|
||||
this._type = null;
|
||||
this._levels = null;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public parse(wrapper: IMessageDataWrapper): boolean
|
||||
{
|
||||
if(!wrapper) return false;
|
||||
|
||||
this._type = wrapper.readString();
|
||||
|
||||
this._levels = [];
|
||||
const levelsCount = wrapper.readInt();
|
||||
|
||||
for(let i = 0; i < levelsCount; i++)
|
||||
{
|
||||
const levelId = wrapper.readInt();
|
||||
const levelState = wrapper.readInt();
|
||||
|
||||
const levelAchievements: TalentTrackTask[] = [];
|
||||
const achievementsCount = wrapper.readInt();
|
||||
|
||||
for(let j = 0; j < achievementsCount; j++)
|
||||
{
|
||||
const id = wrapper.readInt();
|
||||
const index = wrapper.readInt();
|
||||
const code = wrapper.readString();
|
||||
const state = wrapper.readInt();
|
||||
const progress = wrapper.readInt();
|
||||
const achievementProgress = wrapper.readInt();
|
||||
|
||||
levelAchievements.push(new TalentTrackTask(id, index, code, state, progress, achievementProgress));
|
||||
}
|
||||
|
||||
const levelPerks: string[] = [];
|
||||
const perksCount = wrapper.readInt();
|
||||
|
||||
for(let j = 0; j < perksCount; j++) levelPerks.push(wrapper.readString());
|
||||
|
||||
const levelItems: TalentTrackRewardProduct[] = [];
|
||||
const itemsCount = wrapper.readInt();
|
||||
|
||||
for(let j = 0; j < itemsCount; j++)
|
||||
{
|
||||
const name = wrapper.readString();
|
||||
const unknownInt = wrapper.readInt();
|
||||
|
||||
levelItems.push(new TalentTrackRewardProduct(name, unknownInt));
|
||||
}
|
||||
|
||||
this._levels.push(new TalentTrackLevel(levelId, levelState, levelAchievements, levelPerks, levelItems));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public get type(): string
|
||||
{
|
||||
return this._type;
|
||||
}
|
||||
|
||||
public get levels(): TalentTrackLevel[]
|
||||
{
|
||||
return this._levels;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import { IMessageDataWrapper } from '@nitrots/api';
|
||||
|
||||
export class TalentTrackRewardPerk
|
||||
{
|
||||
private _perkId: number;
|
||||
|
||||
constructor(wrapper: IMessageDataWrapper)
|
||||
{
|
||||
this._perkId = wrapper.readInt();
|
||||
}
|
||||
|
||||
public get perkId(): number
|
||||
{
|
||||
return this._perkId;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
export class TalentTrackRewardProduct
|
||||
{
|
||||
private _productCode: string;
|
||||
private _vipDays: number;
|
||||
|
||||
constructor(name: string, vipDays: number)
|
||||
{
|
||||
this._productCode = name;
|
||||
this._vipDays = vipDays;
|
||||
}
|
||||
|
||||
public get productCode(): string
|
||||
{
|
||||
return this._productCode;
|
||||
}
|
||||
|
||||
public get vipDays(): number
|
||||
{
|
||||
return this._vipDays;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
export class TalentTrackTask
|
||||
{
|
||||
private _id: number;
|
||||
private _requiredLevel: number;
|
||||
private _badgeCode: string;
|
||||
private _state: number;
|
||||
private _currentScore: number;
|
||||
private _totalScore: number;
|
||||
|
||||
constructor(id: number, requiredLevel: number, badgeCode: string, state: number, currentScore: number, totalScore: number)
|
||||
{
|
||||
this._id = id;
|
||||
this._requiredLevel = requiredLevel;
|
||||
this._badgeCode = badgeCode;
|
||||
this._state = state;
|
||||
this._currentScore = currentScore;
|
||||
this._totalScore = totalScore;
|
||||
}
|
||||
|
||||
public get id(): number
|
||||
{
|
||||
return this._id;
|
||||
}
|
||||
|
||||
public get requiredLevel(): number
|
||||
{
|
||||
return this._requiredLevel;
|
||||
}
|
||||
|
||||
public get badgeCode(): string
|
||||
{
|
||||
return this._badgeCode;
|
||||
}
|
||||
|
||||
public get state(): number
|
||||
{
|
||||
return this._state;
|
||||
}
|
||||
|
||||
public get currentScore(): number
|
||||
{
|
||||
return this._currentScore;
|
||||
}
|
||||
|
||||
public get totalScore(): number
|
||||
{
|
||||
return this._totalScore;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
export * from './TalentLevelUpMessageParser';
|
||||
export * from './TalentTrackLevel';
|
||||
export * from './TalentTrackLevelMessageParser';
|
||||
export * from './TalentTrackParser';
|
||||
export * from './TalentTrackRewardPerk';
|
||||
export * from './TalentTrackRewardProduct';
|
||||
export * from './TalentTrackTask';
|
||||
Reference in New Issue
Block a user