implement event system

This commit is contained in:
exane 2015-06-17 16:53:44 +02:00
parent db59735858
commit 14511b35fc
1 changed files with 22 additions and 0 deletions

View File

@ -36,6 +36,7 @@ var Battle = (function(){
r._id = null;
r.events = null;
r.init = function(){
PubSub.subscribe("update", this.update.bind(this));
@ -134,6 +135,27 @@ var Battle = (function(){
});
}
r.runEvent = function(eventid, target){
target = target || this;
this.events["on" + eventid].forEach(function(event) {
event.call(target);
});
}
r.on = function(eventid, cb){
if(!this.events["on" + eventid]) {
this.events["on" + eventid] = [];
}
this.events["on" + eventid].push(cb);
}
r.off = function(eventid) {
this.events["on" + eventid].forEach(function(event) {
event = null;
});
delete this.events["on" + eventid];
}
/*r._setUpChannel = function() {
var self = this;
this._abilityChannel.watch(function(d) {