@kitten-science/kitten-scientists
Version:
Add-on for the wonderful incremental browser game: https://kittensgame.com/web/
56 lines • 1.81 kB
TypeScript
import type { Panel, Tab, TabManager } from "./core.js";
import type { GamePage } from "./game.js";
export type Achievements = TabManager & {
game: GamePage;
badgesUnlocked: boolean;
achievements: Array<UnsafeAchievement>;
badges: Array<UnsafeBadge>;
new (game: GamePage): Achievements;
get: (name: string) => UnsafeAchievement;
getBadge: (name: string) => UnsafeBadge;
unlockBadge: (name: string) => void;
hasUnlocked: () => boolean;
update: () => void;
resetState: () => void;
save: (saveData: unknown) => void;
load: (saveData: unknown) => void;
unlockAll: () => void;
};
export type AchievementsPanel = Panel & {
game: null;
refreshNextTick: boolean;
new (): AchievementsPanel;
render: (container?: HTMLElement) => void;
update: () => void;
generateStarText: (completedStars: number, uncompletedStars: number) => string;
renderAchievementItem: (ach: UnsafeAchievement, container: unknown) => HTMLSpanElement;
updateAchievementItem: (ach: UnsafeAchievement) => void;
};
export type BadgesPanel = Panel & {
game: null;
new (): BadgesPanel;
render: (container?: HTMLElement) => void;
update: () => void;
generateBadgeCSSClass: (badge: UnsafeBadge) => string;
};
export type AchTab = Tab & {
new (): AchTab;
render: (container?: HTMLElement) => void;
update: () => void;
};
export type UnsafeAchievement = {
name: string;
title: string;
description: string;
condition: () => boolean;
starCondition?: () => boolean;
hidden: boolean;
};
export type UnsafeBadge = {
name: string;
title: string;
description: string;
difficulty: "A" | "B" | "C" | "D" | "E" | "F" | "S" | "S+";
condition?: () => boolean;
};
//# sourceMappingURL=achievements.d.ts.map