This repository has been archived on 2022-01-16. You can view files and clone it, but cannot push or open issues or pull requests.
irreligious/src/model/resource/IResource.ts

28 lines
735 B
TypeScript

/// <reference path="./SharedTypes.ts" />
interface IResource {
readonly resourceType: ResourceType;
readonly resourceKey: ResourceKey;
readonly label?: string;
readonly singularName: string;
readonly pluralName: string;
readonly description: string;
readonly valueInWholeNumbers: boolean;
readonly cost?: ResourceNumber;
max?: (state: GameState) => number;
inc?: (state: GameState) => number;
advanceAction?: (time: number, state: GameState) => void;
userActions?: ResourceAction[];
addValue: (amount: number, state: GameState) => void;
isUnlocked: (state: GameState) => boolean;
restoreConfig: (config: ResourceConfig) => void;
emitConfig?: () => ResourceConfigValues;
get value(): number;
}