(function() { var DEFAULT_VERTICAL_SPEED = 0.0; var DEFAULT_HORIZONTAL_SPEED = -0.5; var UPDATE_INTERVAL = 20; this.t = 0; var self = this; this.preload = function(entityID) { self.intervalID = Script.setInterval(function() { var verticalSpeed = DEFAULT_VERTICAL_SPEED; var horizontalSpeed = DEFAULT_HORIZONTAL_SPEED; var userData = JSON.parse(Entities.getEntityProperties(entityID, ["userData"]).userData); if (userData !== undefined) { if (userData.horizontalScrollSpeed !== undefined) { horizontalSpeed = userData.horizontalScrollSpeed; } if (userData.verticalScrollSpeed !== undefined) { verticalSpeed = userData.verticalScrollSpeed; } } Entities.editEntity(entityID, { materialMappingPos: { x: horizontalSpeed * self.t, y: verticalSpeed * self.t }}); self.t = self.t + UPDATE_INTERVAL / 1000; }, UPDATE_INTERVAL); }; this.unload = function() { Script.clearInterval(self.intervalID); } });