DionysianIdle/src/types/index.ts
2025-05-18 03:55:06 -05:00

41 lines
707 B
TypeScript

export interface Crop {
id: string;
name: string;
growthTicks: number;
waterPerTick: number;
yield: number;
yieldType: string;
}
export interface CropDefinitions {
[key: string]: Crop;
}
export interface PlotState {
intended?: string;
current?: {
cropId: string;
progress: number;
mature: boolean;
};
moisture: number;
}
export interface InventoryItem {
id: string;
count: number;
}
export interface GameState {
cash: number;
inventory: Record<string, number>;
fieldSize: number;
maxFieldSize: number;
fieldUpgradeCosts: number[];
plots: PlotState[][];
lastPlantTime: number;
lastWaterTime: number;
lastHarvestTime: number;
gameSpeed: number;
}