2021-08-06 05:38:57 +02:00
|
|
|
import { AchievementData } from '@nitrots/nitro-renderer';
|
2021-06-28 05:47:55 +02:00
|
|
|
|
|
|
|
export class AchievementCategory
|
|
|
|
{
|
2021-09-30 04:29:26 +02:00
|
|
|
private _code: string;
|
2021-06-28 05:47:55 +02:00
|
|
|
private _achievements: AchievementData[];
|
|
|
|
|
2021-09-30 04:29:26 +02:00
|
|
|
constructor(code: string)
|
2021-06-28 05:47:55 +02:00
|
|
|
{
|
2021-09-30 04:29:26 +02:00
|
|
|
this._code = code;
|
|
|
|
this._achievements = [];
|
2021-06-28 05:47:55 +02:00
|
|
|
}
|
|
|
|
|
2021-09-30 04:29:26 +02:00
|
|
|
public getProgress(): number
|
2021-06-28 05:47:55 +02:00
|
|
|
{
|
2021-09-30 04:29:26 +02:00
|
|
|
let progress = 0;
|
|
|
|
|
|
|
|
for(const achievement of this._achievements)
|
|
|
|
{
|
|
|
|
progress += (achievement.finalLevel ? achievement.level : (achievement.level - 1));
|
|
|
|
}
|
|
|
|
|
|
|
|
return progress;
|
|
|
|
}
|
|
|
|
|
|
|
|
public getMaxProgress(): number
|
|
|
|
{
|
|
|
|
let progress = 0;
|
|
|
|
|
|
|
|
for(const achievement of this._achievements)
|
|
|
|
{
|
|
|
|
progress += achievement.levelCount;
|
|
|
|
}
|
|
|
|
|
|
|
|
return progress;
|
2021-06-28 05:47:55 +02:00
|
|
|
}
|
|
|
|
|
2021-09-30 04:29:26 +02:00
|
|
|
public get code(): string
|
2021-06-28 05:47:55 +02:00
|
|
|
{
|
2021-09-30 04:29:26 +02:00
|
|
|
return this._code;
|
2021-06-28 05:47:55 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public get achievements(): AchievementData[]
|
|
|
|
{
|
|
|
|
return this._achievements;
|
|
|
|
}
|
|
|
|
|
|
|
|
public set achievements(achievements: AchievementData[])
|
|
|
|
{
|
|
|
|
this._achievements = achievements;
|
|
|
|
}
|
|
|
|
}
|