Bind callbacks to object

This commit is contained in:
2021-11-04 22:29:05 +01:00
parent a968f89bb3
commit abb3c475db
5 changed files with 19 additions and 11 deletions

View File

@@ -31,12 +31,12 @@ export default class ItemBuilder {
}
withUseCallback(callback) {
this.item.useCallback = callback;
this.item.addUseCallback(callback);
return this;
}
withTakeCallback(callback) {
this.item.takeCallback = callback;
this.item.addTakeCallback(callback);
return this;
}

View File

@@ -17,4 +17,12 @@ export default class Item {
async onTake() {
if (this.takeCallback) return this.takeCallback();
}
addUseCallback(callback) {
this.useCallback = callback.bind(this);
}
addTakeCallback(callback) {
this.takeCallback = callback.bind(this);
}
}

View File

@@ -50,23 +50,23 @@ export default class Room {
}
addEnterCallback(callback) {
this.enterCallback = callback;
this.enterCallback = callback.bind(this);
}
addExitCallback(callback) {
this.exitCallback = callback;
this.exitCallback = callback.bind(this);
}
addEnterLogic(func) {
this.canEnterLogic = func;
this.canEnterLogic = func.bind(this);
}
addExitLogic(func) {
this.canExitLogic = func;
this.canExitLogic = func.bind(this);
}
addTickCallback(callback) {
this.tickCallback = callback;
this.tickCallback = callback.bind(this);
}
getItems() {