Bugfixing - unsubscribing game related topics, to prevent double calls and leaking references, added offAll method to nc. fixes no rendering bug

This commit is contained in:
logsol 2014-03-31 05:05:32 +02:00
parent 40e396fc23
commit 39f684315b
8 changed files with 57 additions and 19 deletions

View file

@ -43,5 +43,9 @@ define(function () {
}
}
PlayerController.prototype.destroy = function() {
// extend if necessary
};
return PlayerController;
});

View file

@ -17,7 +17,9 @@ function (Settings, Box2D, CollisionDetector, Nc) {
this.lastStep = Date.now();
this.worldQueue = [];
Nc.on(Nc.ns.channel.engine.worldQueue.add, this.addToWorldQueue, this);
this.ncTokens = [
Nc.on(Nc.ns.channel.engine.worldQueue.add, this.addToWorldQueue, this)
];
}
Engine.prototype.getWorld = function () {
@ -62,6 +64,7 @@ function (Settings, Box2D, CollisionDetector, Nc) {
Engine.prototype.destroy = function() {
delete this.world;
Nc.offAll(this.ncTokens);
};

View file

@ -146,6 +146,8 @@ function (Doll, Settings, Nc, Exception, SpectatorDoll, RagDoll) {
this.spectatorDoll.destroy();
if(this.doll) this.doll.destroy();
this.playerController.destroy();
}
Player.prototype.setPlayerController = function(playerController) {