20 lines
519 B
JavaScript
20 lines
519 B
JavaScript
|
export default class Item {
|
||
|
constructor() {
|
||
|
this.id = "item";
|
||
|
this.name = "An item";
|
||
|
this.description = "You see nothing special about this item";
|
||
|
this.usable = true;
|
||
|
this.takeable = true;
|
||
|
this.useCallback = null;
|
||
|
this.takeCallback = null;
|
||
|
this.context = null;
|
||
|
}
|
||
|
|
||
|
async onUse() {
|
||
|
if (this.useCallback) return this.useCallback(this.context);
|
||
|
}
|
||
|
|
||
|
async onTake() {
|
||
|
if (this.takeCallback) return this.takeCallback();
|
||
|
}
|
||
|
}
|