nitro-react/src/components/achievements/common/AchievementCategory.ts

53 lines
1.0 KiB
TypeScript
Raw Normal View History

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;
}
}