41 lines
707 B
TypeScript
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;
|
|
}
|