Skip to content

Commit

Permalink
Cleared a bug where craft would be spawned after the player that owns…
Browse files Browse the repository at this point in the history
… the craft has left the game
  • Loading branch information
robashton committed Dec 4, 2011
1 parent 5924e00 commit 8dc8021
Showing 1 changed file with 22 additions and 5 deletions.
27 changes: 22 additions & 5 deletions src/entities/hovercraftspawner.js
Expand Up @@ -6,6 +6,7 @@ exports.HovercraftSpawner = function(scene) {
var self = this;
var hovercraftFactory = new HovercraftFactory(scene.app);
var playerNames = {};
var respawnTimeouts = {};

scene.addEntity(self);

Expand Down Expand Up @@ -73,7 +74,7 @@ exports.HovercraftSpawner = function(scene) {
var id = this.getId();
scene.removeEntity(this);

setTimeout(function() {
respawnTimeouts[id] = setTimeout(function() {
raiseEntityRevived(id);
}, 10000);
};
Expand All @@ -87,14 +88,30 @@ exports.HovercraftSpawner = function(scene) {
};

var onPlayerLeft = function(data) {
var craft = scene.getEntity(data.id);
if(craft)
scene.removeEntity(craft);
removePlayerFromScene(data.id);
clearPlayerInfo(data.id);
clearPlayerRespawn(data.id);

};

delete playerNames[data.id];
var clearPlayerRespawn = function(id) {
if(respawnTimeouts[id]) {
clearTimeout(respawnTimeouts[id]);
delete respawnTimeouts[id];
}
};

var clearPlayerInfo = function(id) {
delete playerNames[id];
raiseNamesChangedEvent();
};

var removePlayerFromScene = function(id) {
var craft = scene.getEntity(id);
if(craft)
scene.removeEntity(craft);
};

var onEntitySpawned = function(data) {
var craft = hovercraftFactory.create(data.id);
craft.position = data.position;
Expand Down

0 comments on commit 8dc8021

Please sign in to comment.