(function(){ var MESSAGE_CHANNEL = "RingRingRingRingRingRingRingBananaPhone"; var HOVER_ACTIVE_COLOR = {red: 255, green: 0, blue: 0}; var HOVER_NOT_ACTIVE_COLOR = {red: 99, green: 99, blue:99}; var ALLOWED_NUMBERS = ["0", "1", "5", "6"]; var isActiveButton = false; var _entityID; var name; var PhoneButton = function(){ }; PhoneButton.prototype = { preload: function(entityID){ _entityID = entityID; name = Entities.getEntityProperties(entityID, 'name').name; if (ALLOWED_NUMBERS.indexOf(name) != -1) { isActiveButton = true; Messages.subscribe(MESSAGE_CHANNEL); } }, unload: function(){ if (isActiveButton){ Messages.unsubscribe(MESSAGE_CHANNEL); } }, hoverEnterEntity: function(id, event) { Entities.editEntity(id, {color: HOVER_ACTIVE_COLOR}); }, hoverLeaveEntity: function(id, event) { Entities.editEntity(id, {color: HOVER_NOT_ACTIVE_COLOR}); }, clickDownOnEntity: function() { if (isActiveButton) { Messages.sendMessage(MESSAGE_CHANNEL, name); } } }; return new PhoneButton; })