69 lines
1.9 KiB
TypeScript
69 lines
1.9 KiB
TypeScript
import { Themes } from "@/data/themes";
|
|
import { DecimalSource } from "@/lib/break_eternity";
|
|
import Decimal from "@/util/bignum";
|
|
import { BoardData } from "./features/board";
|
|
import { MilestoneDisplay } from "./features/milestone";
|
|
import { State } from "./state";
|
|
|
|
export interface ModSaveData {
|
|
active?: string;
|
|
saves?: string[];
|
|
}
|
|
|
|
export interface PlayerData {
|
|
id: string;
|
|
devSpeed?: DecimalSource;
|
|
points: Decimal;
|
|
oomps: Decimal;
|
|
oompsMag: number;
|
|
name: string;
|
|
tabs: Array<string>;
|
|
time: number;
|
|
autosave: boolean;
|
|
offlineProd: boolean;
|
|
offlineTime: Decimal | null;
|
|
timePlayed: Decimal;
|
|
keepGoing: boolean;
|
|
lastTenTicks: Array<number>;
|
|
showTPS: boolean;
|
|
msDisplay: MilestoneDisplay;
|
|
hideChallenges: boolean;
|
|
theme: Themes;
|
|
subtabs: {
|
|
[index: string]: {
|
|
mainTabs?: string;
|
|
[index: string]: string;
|
|
};
|
|
};
|
|
minimized: Record<string, boolean>;
|
|
modID: string;
|
|
modVersion: string;
|
|
justLoaded: boolean;
|
|
hasNaN: boolean;
|
|
NaNPath?: Array<string>;
|
|
NaNReceiver?: Record<string, unknown> | null;
|
|
importing: ImportingStatus;
|
|
saveToImport: string;
|
|
saveToExport: string;
|
|
layers: Record<string, LayerSaveData>;
|
|
[index: string]: unknown;
|
|
}
|
|
|
|
export interface LayerSaveData {
|
|
points: Decimal;
|
|
unlocked: boolean;
|
|
unlockOrder?: number;
|
|
forceTooltip?: boolean;
|
|
resetTime: Decimal;
|
|
upgrades: Array<string | number>;
|
|
achievements: Array<string | number>;
|
|
milestones: Array<string | number>;
|
|
infoboxes: Record<string, boolean>;
|
|
buyables: Record<string, Decimal>;
|
|
clickables: Record<string, State>;
|
|
challenges: Record<string, Decimal>;
|
|
grids: Record<string, Record<string, State>>;
|
|
boards: Record<string, BoardData>;
|
|
confirmRespecBuyables: boolean;
|
|
[index: string]: unknown;
|
|
}
|