2021-08-21 12:45:58 -05:00
|
|
|
/// <reference path="./IResource.ts" />
|
|
|
|
|
2021-08-21 19:02:57 -05:00
|
|
|
abstract class Passive implements IResource {
|
2021-09-05 14:45:37 -05:00
|
|
|
public readonly resourceType: ResourceType = ResourceType.passive;
|
2021-08-22 11:51:16 -05:00
|
|
|
public readonly valueInWholeNumbers: boolean = false;
|
2021-08-21 12:45:58 -05:00
|
|
|
public readonly clickText: null = null;
|
|
|
|
public readonly clickDescription: null = null;
|
2021-09-04 22:21:14 -05:00
|
|
|
public value = 0;
|
2021-08-21 12:45:58 -05:00
|
|
|
public readonly cost: null = null;
|
2021-08-22 11:51:16 -05:00
|
|
|
|
2021-08-21 12:45:58 -05:00
|
|
|
public readonly clickAction: null = null;
|
|
|
|
|
2021-09-05 14:45:37 -05:00
|
|
|
public max: ((state: GameState) => number) | null = null;
|
|
|
|
public inc: ((state: GameState) => number) | null = null;
|
|
|
|
public advanceAction: ((time: number, state: GameState) => void) | null = null;
|
2021-08-21 12:45:58 -05:00
|
|
|
|
|
|
|
constructor (
|
2021-08-22 11:51:16 -05:00
|
|
|
public readonly name: string,
|
|
|
|
public readonly description: string
|
|
|
|
) { }
|
|
|
|
|
2021-08-21 12:45:58 -05:00
|
|
|
|
2021-09-05 14:45:37 -05:00
|
|
|
public addValue (amount: number, _state: GameState): void {
|
2021-08-22 11:51:16 -05:00
|
|
|
this.value += amount;
|
2021-08-21 12:45:58 -05:00
|
|
|
}
|
|
|
|
|
2021-09-05 14:45:37 -05:00
|
|
|
public isUnlocked (_state: GameState): boolean {
|
2021-08-21 12:45:58 -05:00
|
|
|
return true;
|
|
|
|
}
|
2021-08-21 17:06:51 -05:00
|
|
|
|
2021-08-21 12:45:58 -05:00
|
|
|
}
|