assassin-bug/src/engine/builders/item.js

46 lines
809 B
JavaScript
Raw Normal View History

2021-11-04 19:58:37 +00:00
import Item from '../item';
export default class ItemBuilder {
constructor() {
this.item = new Item();
}
withID(ID) {
this.item.id = ID;
return this;
}
withName(name) {
this.item.name = name;
return this;
}
withDescription(description) {
this.item.description = description;
return this;
}
isUsable(value) {
this.item.usable = value;
return this;
}
isTakeable(value) {
this.item.takeable = value;
return this;
}
withUseCallback(callback) {
this.item.useCallback = callback;
return this;
}
withTakeCallback(callback) {
this.item.takeCallback = callback;
return this;
}
create() {
return this.item;
}
}