improving interval methods in GUI object
parent
ac85aeff8a
commit
26a969b2cf
33
js/gui.js
33
js/gui.js
|
@ -21,7 +21,7 @@ var GUI_control = function() {
|
|||
// interval = time interval in miliseconds
|
||||
// first = true/false if code should be ran initially before next timer interval hits
|
||||
GUI_control.prototype.interval_add = function(name, code, interval, first) {
|
||||
var data = {'name': name, 'timer': undefined, 'interval': interval, 'fired' : 0};
|
||||
var data = {'name': name, 'timer': undefined, 'code': code, 'interval': interval, 'fired': 0, 'paused': false};
|
||||
|
||||
if (first == true) {
|
||||
code(); // execute code
|
||||
|
@ -53,6 +53,37 @@ GUI_control.prototype.interval_remove = function(name) {
|
|||
return false;
|
||||
};
|
||||
|
||||
// name = string
|
||||
GUI_control.prototype.interval_pause = function(name) {
|
||||
for (var i = 0; i < this.interval_array.length; i++) {
|
||||
if (this.interval_array[i].name == name) {
|
||||
clearInterval(this.interval_array[i].timer);
|
||||
this.interval_array[i].paused = true;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// name = string
|
||||
GUI_control.prototype.interval_resume = function(name) {
|
||||
for (var i = 0; i < this.interval_array.length; i++) {
|
||||
if (this.interval_array[i].name == name && this.interval_array[i].paused) {
|
||||
var obj = this.interval_array[i];
|
||||
|
||||
obj.timer = setInterval(function() {
|
||||
obj.code(); // execute code
|
||||
|
||||
obj.fired++; // increment counter
|
||||
}, obj.interval);
|
||||
|
||||
obj.paused = false;
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
// input = array of timers thats meant to be kept
|
||||
// return = returns timers killed in last call
|
||||
GUI_control.prototype.interval_kill_all = function(keep_array) {
|
||||
|
|
Loading…
Reference in New Issue