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,95 @@
import { IDisposable, IMessageDataWrapper } from '@nitrots/api';
export class CommunityGoalData implements IDisposable
{
private _hasGoalExpired: boolean;
private _personalContributionScore: number;
private _personalContributionRank: number;
private _communityTotalScore: number;
private _communityHighestAchievedLevel: number;
private _scoreRemainingUntilNextLevel: number;
private _percentCompletionTowardsNextLevel: number;
private _goalCode: string;
private _timeRemainingInSeconds: number;
private _rewardUserLimits: number[];
constructor(wrapper: IMessageDataWrapper)
{
this._rewardUserLimits = [];
this._hasGoalExpired = wrapper.readBoolean();
this._personalContributionScore = wrapper.readInt();
this._personalContributionRank = wrapper.readInt();
this._communityTotalScore = wrapper.readInt();
this._communityHighestAchievedLevel = wrapper.readInt();
this._scoreRemainingUntilNextLevel = wrapper.readInt();
this._percentCompletionTowardsNextLevel = wrapper.readInt();
this._goalCode = wrapper.readString();
this._timeRemainingInSeconds = wrapper.readInt();
const count = wrapper.readInt();
for(let i = 0; i < count; i++)
{
this._rewardUserLimits.push(wrapper.readInt());
}
}
public dispose(): void
{
this._rewardUserLimits = null;
}
public get disposed(): boolean
{
return this._rewardUserLimits == null;
}
public get hasGoalExpired(): boolean
{
return this._hasGoalExpired;
}
public get personalContributionScore(): number
{
return this._personalContributionScore;
}
public get personalContributionRank(): number
{
return this._personalContributionRank;
}
public get communityTotalScore(): number
{
return this._communityTotalScore;
}
public get communityHighestAchievedLevel(): number
{
return this._communityHighestAchievedLevel;
}
public get scoreRemainingUntilNextLevel(): number
{
return this._scoreRemainingUntilNextLevel;
}
public get percentCompletionTowardsNextLevel(): number
{
return this._percentCompletionTowardsNextLevel;
}
public get timeRemainingInSeconds(): number
{
return this._timeRemainingInSeconds;
}
public get rewardUserLimits(): number[]
{
return this._rewardUserLimits;
}
public get goalCode(): string
{
return this._goalCode;
}
}
@@ -0,0 +1,30 @@
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
import { PrizeData } from './PrizeData';
export class CommunityGoalEarnedPrizesMessageParser implements IMessageParser
{
private _prizes: PrizeData[];
public flush(): boolean
{
this._prizes = [];
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
const count = wrapper.readInt();
for(let i = 0; i < count; i++)
{
this._prizes.push(new PrizeData(wrapper));
}
return true;
}
public get prizes(): PrizeData[]
{
return this._prizes;
}
}
@@ -0,0 +1,41 @@
import { IDisposable, IMessageDataWrapper } from '@nitrots/api';
import { HallOfFameEntryData } from './HallOfFameEntryData';
export class CommunityGoalHallOfFameData implements IDisposable
{
private _goalCode: string;
private _hof: HallOfFameEntryData[];
constructor(wrapper: IMessageDataWrapper)
{
this._hof = [];
this._goalCode = wrapper.readString();
const count = wrapper.readInt();
for(let i = 0; i < count; i++)
{
this._hof.push(new HallOfFameEntryData(wrapper));
}
}
public dispose(): void
{
this._hof = null;
}
public get disposed(): boolean
{
return this._hof == null;
}
public get hof(): HallOfFameEntryData[]
{
return this._hof;
}
public get goalCode(): string
{
return this._goalCode;
}
}
@@ -0,0 +1,26 @@
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
import { CommunityGoalHallOfFameData } from './CommunityGoalHallOfFameData';
export class CommunityGoalHallOfFameMessageParser implements IMessageParser
{
private _data: CommunityGoalHallOfFameData;
public flush(): boolean
{
this._data = null;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._data = new CommunityGoalHallOfFameData(wrapper);
return true;
}
public get data(): CommunityGoalHallOfFameData
{
return this._data;
}
}
@@ -0,0 +1,26 @@
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
import { CommunityGoalData } from './CommunityGoalData';
export class CommunityGoalProgressMessageParser implements IMessageParser
{
private _data: CommunityGoalData;
public flush(): boolean
{
this._data = null;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._data = new CommunityGoalData(wrapper);
return true;
}
public get data(): CommunityGoalData
{
return this._data;
}
}
@@ -0,0 +1,41 @@
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
export class ConcurrentUsersGoalProgressMessageParser implements IMessageParser
{
private _state: number;
private _userCount: number;
private _userCountGoal: number;
public flush(): boolean
{
this._state = -1;
this._userCount = -1;
this._userCountGoal = -1;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._state = wrapper.readInt();
this._userCount = wrapper.readInt();
this._userCountGoal = wrapper.readInt();
return true;
}
public get state(): number
{
return this._state;
}
public get userCount(): number
{
return this._userCount;
}
public get userCountGoal(): number
{
return this._userCountGoal;
}
}
@@ -0,0 +1,25 @@
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
export class EpicPopupMessageParser implements IMessageParser
{
private _imageUri: string;
public flush(): boolean
{
this._imageUri = '';
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._imageUri = wrapper.readString();
return true;
}
public get imageUri(): string
{
return this._imageUri;
}
}
@@ -0,0 +1,45 @@
import { IMessageDataWrapper } from '@nitrots/api';
import { ILandingPageUserEntry } from './ILandingPageUserEntry';
export class HallOfFameEntryData implements ILandingPageUserEntry
{
private _userId: number;
private _userName: string;
private _figure: string;
private _rank: number;
private _currentScore: number;
constructor(wrapper: IMessageDataWrapper)
{
this._userId = wrapper.readInt();
this._userName = wrapper.readString();
this._figure = wrapper.readString();
this._rank = wrapper.readInt();
this._currentScore = wrapper.readInt();
}
public get userId(): number
{
return this._userId;
}
public get userName(): string
{
return this._userName;
}
public get figure(): string
{
return this._figure;
}
public get rank(): number
{
return this._rank;
}
public get currentScore(): number
{
return this._currentScore;
}
}
@@ -0,0 +1,6 @@
export interface ILandingPageUserEntry
{
userId: number;
userName: string;
figure: string;
}
@@ -0,0 +1,51 @@
import { IMessageDataWrapper } from '@nitrots/api';
export class PrizeData
{
private _communityGoalId: number;
private _communityGoalCode: string;
private _userRank: number;
private _rewardCode: string;
private _badge: boolean;
private _localizedName: string;
constructor(k: IMessageDataWrapper)
{
this._communityGoalId = k.readInt();
this._communityGoalCode = k.readString();
this._userRank = k.readInt();
this._rewardCode = k.readString();
this._badge = k.readBoolean();
this._localizedName = k.readString();
}
public get communityGoalId(): number
{
return this._communityGoalId;
}
public get communityGoalCode(): string
{
return this._communityGoalCode;
}
public get userRank(): number
{
return this._userRank;
}
public get rewardCode(): string
{
return this._rewardCode;
}
public get badge(): boolean
{
return this._badge;
}
public get localizedName(): string
{
return this._localizedName;
}
}
@@ -0,0 +1,24 @@
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
export class QuestCancelledMessageParser implements IMessageParser
{
private _expired: boolean;
public flush(): boolean
{
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._expired = wrapper.readBoolean();
return true;
}
public get expired(): boolean
{
return this._expired;
}
}
@@ -0,0 +1,33 @@
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
import { QuestMessageData } from './QuestMessageData';
export class QuestCompletedMessageParser implements IMessageParser
{
private _questData: QuestMessageData;
private _showDialog: boolean;
public flush(): boolean
{
this._questData = null;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._questData = new QuestMessageData(wrapper);
this._showDialog = wrapper.readBoolean();
return true;
}
public get questData(): QuestMessageData
{
return this._questData;
}
public get showDialog(): boolean
{
return this._showDialog;
}
}
@@ -0,0 +1,44 @@
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
import { QuestMessageData } from './QuestMessageData';
export class QuestDailyMessageParser implements IMessageParser
{
private _quest: QuestMessageData;
private _easyQuestCount: number;
private _hardQuestCount: number;
public flush(): boolean
{
this._quest = null;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
const _local_2 = wrapper.readBoolean();
if(_local_2)
{
this._quest = new QuestMessageData(wrapper);
this._easyQuestCount = wrapper.readInt();
this._hardQuestCount = wrapper.readInt();
}
return true;
}
public get quest(): QuestMessageData
{
return this._quest;
}
public get easyQuestCount(): number
{
return this._easyQuestCount;
}
public get hardQuestCount(): number
{
return this._hardQuestCount;
}
}
@@ -0,0 +1,186 @@
import { IMessageDataWrapper } from '@nitrots/api';
export class QuestMessageData
{
private _campaignCode: string;
private _completedQuestsInCampaign: number;
private _questCountInCampaign: number;
private _activityPointType: number;
private _id: number;
private _accepted: boolean;
private _type: string;
private _imageVersion: string;
private _rewardCurrencyAmount: number;
private _localizationCode: string;
private _completedSteps: number;
private _totalSteps: number;
private _waitPeriodSeconds: number;
private _sortOrder: number;
private _catalogPageName: string;
private _chainCode: string;
private _easy: boolean;
private _receiveTime: Date;
constructor(wrapper: IMessageDataWrapper)
{
this._receiveTime = new Date();
this._campaignCode = wrapper.readString();
this._completedQuestsInCampaign = wrapper.readInt();
this._questCountInCampaign = wrapper.readInt();
this._activityPointType = wrapper.readInt();
this._id = wrapper.readInt();
this._accepted = wrapper.readBoolean();
this._type = wrapper.readString();
this._imageVersion = wrapper.readString();
this._rewardCurrencyAmount = wrapper.readInt();
this._localizationCode = wrapper.readString();
this._completedSteps = wrapper.readInt();
this._totalSteps = wrapper.readInt();
this._sortOrder = wrapper.readInt();
this._catalogPageName = wrapper.readString();
this._chainCode = wrapper.readString();
this._easy = wrapper.readBoolean();
}
public static getCampaignLocalizationKeyForCode(k: string): string
{
return 'quests.' + k;
}
public get campaignCode(): string
{
return this._campaignCode;
}
public get localizationCode(): string
{
return this._localizationCode;
}
public get completedQuestsInCampaign(): number
{
return this._completedQuestsInCampaign;
}
public get questCountInCampaign(): number
{
return this._questCountInCampaign;
}
public get activityPointType(): number
{
return this._activityPointType;
}
public set accepted(k: boolean)
{
this._accepted = k;
}
public get accepted(): boolean
{
return this._accepted;
}
public set id(k: number)
{
this._id = k;
}
public get id(): number
{
return this._id;
}
public get type(): string
{
return this._type;
}
public get imageVersion(): string
{
return this._imageVersion;
}
public get rewardCurrencyAmount(): number
{
return this._rewardCurrencyAmount;
}
public get completedSteps(): number
{
return this._completedSteps;
}
public get totalSteps(): number
{
return this._totalSteps;
}
public get isCompleted(): boolean
{
return this._completedSteps == this._totalSteps;
}
public set waitPeriodSeconds(k: number)
{
this._waitPeriodSeconds = k;
}
public get waitPeriodSeconds(): number
{
if(this._waitPeriodSeconds < 1)
{
return 0;
}
const k = new Date();
const _local_2 = (k.getTime() - this._receiveTime.getTime());
const _local_3 = Math.max(0, (this._waitPeriodSeconds - Math.floor((_local_2 / 1000))));
return _local_3;
}
public getCampaignLocalizationKey(): string
{
return QuestMessageData.getCampaignLocalizationKeyForCode(this.campaignCode);
}
public getQuestLocalizationKey(): string
{
return (this.getCampaignLocalizationKey() + '.') + this._localizationCode;
}
public get completedCampaign(): boolean
{
return this._id < 1;
}
public get lastQuestInCampaign(): boolean
{
return this._completedQuestsInCampaign >= this._questCountInCampaign;
}
public get receiveTime(): Date
{
return this._receiveTime;
}
public get sortOrder(): number
{
return this._sortOrder;
}
public get catalogPageName(): string
{
return this._catalogPageName;
}
public get chainCode(): string
{
return this._chainCode;
}
public get easy(): boolean
{
return this._easy;
}
}
@@ -0,0 +1,26 @@
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
import { QuestMessageData } from './QuestMessageData';
export class QuestMessageParser implements IMessageParser
{
private _quest: QuestMessageData;
public flush(): boolean
{
this._quest = null;
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
this._quest = new QuestMessageData(wrapper);
return true;
}
public get quest(): QuestMessageData
{
return this._quest;
}
}
@@ -0,0 +1,40 @@
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
import { QuestMessageData } from './QuestMessageData';
export class QuestsMessageParser implements IMessageParser
{
private _quests: QuestMessageData[];
private _openWindow: boolean;
public flush(): boolean
{
this._quests = [];
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
const count = wrapper.readInt();
for(let i = 0; i < count; i++)
{
this._quests.push(new QuestMessageData(wrapper));
}
this._openWindow = wrapper.readBoolean();
return true;
}
public get quests(): QuestMessageData[]
{
return this._quests;
}
public get openWindow(): boolean
{
return this._openWindow;
}
}
@@ -0,0 +1,32 @@
import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
import { QuestMessageData } from './QuestMessageData';
export class SeasonalQuestsParser implements IMessageParser
{
private _quests: QuestMessageData[];
public flush(): boolean
{
this._quests = [];
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
const count = wrapper.readInt();
for(let i = 0; i < count; i++)
{
this._quests.push(new QuestMessageData(wrapper));
}
return true;
}
public get quests(): QuestMessageData[]
{
return this._quests;
}
}
@@ -0,0 +1,17 @@
export * from './CommunityGoalData';
export * from './CommunityGoalEarnedPrizesMessageParser';
export * from './CommunityGoalHallOfFameData';
export * from './CommunityGoalHallOfFameMessageParser';
export * from './CommunityGoalProgressMessageParser';
export * from './ConcurrentUsersGoalProgressMessageParser';
export * from './EpicPopupMessageParser';
export * from './HallOfFameEntryData';
export * from './ILandingPageUserEntry';
export * from './PrizeData';
export * from './QuestCancelledMessageParser';
export * from './QuestCompletedMessageParser';
export * from './QuestDailyMessageParser';
export * from './QuestMessageData';
export * from './QuestMessageParser';
export * from './QuestsMessageParser';
export * from './SeasonalQuestsParser';