ensure deleted or cleared entities properly unequipped

This commit is contained in:
David Back 2018-04-23 16:56:18 -07:00
parent 5cf93ebd1f
commit e21c451815

View file

@ -838,11 +838,31 @@ EquipHotspotBuddy.prototype.update = function(deltaTime, timestamp, controllerDa
}
};
var deleteEntity = function(entityID) {
if (rightEquipEntity.targetEntityID === entityID) {
rightEquipEntity.endEquipEntity();
}
if (leftEquipEntity.targetEntityID === entityID) {
leftEquipEntity.endEquipEntity();
}
};
var clearEntities = function() {
if (rightEquipEntity.targetEntityID) {
rightEquipEntity.endEquipEntity();
}
if (leftEquipEntity.targetEntityID) {
leftEquipEntity.endEquipEntity();
}
};
Messages.subscribe('Hifi-Hand-Grab');
Messages.subscribe('Hifi-Hand-Drop');
Messages.messageReceived.connect(handleMessage);
Controller.mousePressEvent.connect(onMousePress);
Controller.keyPressEvent.connect(onKeyPress);
Entities.deletingEntity.connect(deleteEntity);
Entities.clearingEntities.connect(clearEntities);
var leftEquipEntity = new EquipEntity(LEFT_HAND);
var rightEquipEntity = new EquipEntity(RIGHT_HAND);
@ -859,6 +879,8 @@ EquipHotspotBuddy.prototype.update = function(deltaTime, timestamp, controllerDa
Messages.messageReceived.disconnect(handleMessage);
Controller.mousePressEvent.disconnect(onMousePress);
Controller.keyPressEvent.disconnect(onKeyPress);
Entities.deletingEntity.disconnect(deleteEntity);
Entities.deletingEntity.disconnect(clearEntities);
}
Script.scriptEnding.connect(cleanup);
}());