Hi, I need to pause this simple Sine script, when the game is paused, just as everything else is frozen when you pause. But how do you pause a script? Here is the script
var Sine = pc.createScript('sine');
Sine.attributes.add('amplitudeScale', { type: 'number', default: 1 });
Sine.attributes.add('frequencyScale', { type: 'number', default: 1 });
// initialize code called once per entity
Sine.prototype.initialize = function() {
var app = this.app;
this.timer = 0;
this.sineActive = true;
this.paused = false;
app.on('game:pause', function () {
this.paused = true;
}, this);
app.on('game:unpause', function () {
this.paused = false;
}, this);
this.app.on('game:getready', function () {
this.sineActive = true;
}, this);
this.app.on('game:play', function () {
this.sineActive = false;
}, this);
};
// update code called every frame
Sine.prototype.update = function(dt) {
if (this.sineActive) {
dt *= this.frequencyScale;
this.timer += dt;
this.entity.setLocalPosition(-0.28, Math.sin(this.timer) * this.amplitudeScale, 0);
}
};
Thanks for any help 
Hey, you have everything in place just need a check in your update method, something like this:
// update code called every frame
Sine.prototype.update = function(dt) {
if (this.sineActive && this.paused === false) {
dt *= this.frequencyScale;
this.timer += dt;
this.entity.setLocalPosition(-0.28, Math.sin(this.timer) * this.amplitudeScale, 0);
}
};
This didn’t work initially, I had to assign what pause meant and then set it as disabled first, like this:
var Sine = pc.createScript('sine');
Sine.attributes.add('amplitudeScale', { type: 'number', default: 1 });
Sine.attributes.add('frequencyScale', { type: 'number', default: 1 });
// initialize code called once per entity
Sine.prototype.initialize = function() {
this.timer = 0;
this.sineActive = true;
this.paused = false;
this.app.on('game:getready', function () {
this.sineActive = true;
}, this);
this.app.on('game:play', function () {
this.sineActive = false;
}, this);
this.app.on('game:pause', function () {
this.paused = true;
}, this);
this.app.on('game:unpause', function () {
this.paused = false;
}, this);
};
// update code called every frame
Sine.prototype.update = function(dt) {
if (this.sineActive && this.paused === false) {
dt *= this.frequencyScale;
this.timer += dt;
this.entity.setLocalPosition(-0.28, Math.sin(this.timer) * this.amplitudeScale, 0);
}
};
It now works, so thanks 
1 Like