Nextrek
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
var Component_IntervalTimer,
extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
hasProp = {}.hasOwnProperty;
Component_IntervalTimer = (function(superClass) {
extend(Component_IntervalTimer, superClass);
/**
* A component which adds timing-features to a game object. The game object
* will send an "elapsed" event everytime the time interval has been elapsed.
*
* @module gs
* @class Component_IntervalTimer
* @extends gs.Component
* @memberof gs
*/
function Component_IntervalTimer() {
Component_IntervalTimer.__super__.constructor.call(this);
/**
* Indicates if the timer is running.
*
* @property isRunning
* @type boolean
* @readOnly
*/
this.isRunning = false;
/**
* @property frameCount
* @type number
* @private
*/
this.frameCount = 0;
/**
* The interval at which the associated action will be executed.
* @property interval
* @type number
*/
this.interval = 0;
}
/**
* Starts the timer.
*
* @method start
*/
Component_IntervalTimer.prototype.start = function() {
this.isRunning = true;
return this.frameCount = 0;
};
/**
* Stops the timer.
*
* @method stop
*/
Component_IntervalTimer.prototype.stop = function() {
return this.isRunning = false;
};
/**
* Resumes the timer.
*
* @method resume
*/
Component_IntervalTimer.prototype.resume = function() {
return this.isRunning = true;
};
/**
* Pauses the timer.
*
* @method pause
*/
Component_IntervalTimer.prototype.pause = function() {
return this.isRunning = false;
};
/**
* Updates the timer.
*
* @method update
*/
Component_IntervalTimer.prototype.update = function() {
if (this.isRunning) {
this.frameCount++;
if (this.frameCount >= this.interval) {
this.object.events.emit("elapsed", this.object);
return this.frameCount = 0;
}
}
};
return Component_IntervalTimer;
})(gs.Component);
gs.Component_IntervalTimer = Component_IntervalTimer;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsdUJBQUE7RUFBQTs7O0FBQU07Ozs7QUFDRjs7Ozs7Ozs7OztFQVNhLGlDQUFBO0lBQ1QsdURBQUE7O0FBRUE7Ozs7Ozs7SUFPQSxJQUFDLENBQUEsU0FBRCxHQUFhOztBQUViOzs7OztJQUtBLElBQUMsQ0FBQSxVQUFELEdBQWM7O0FBRWQ7Ozs7O0lBS0EsSUFBQyxDQUFBLFFBQUQsR0FBWTtFQXhCSDs7O0FBMEJiOzs7Ozs7b0NBS0EsS0FBQSxHQUFPLFNBQUE7SUFDSCxJQUFDLENBQUEsU0FBRCxHQUFhO1dBQ2IsSUFBQyxDQUFBLFVBQUQsR0FBYztFQUZYOzs7QUFJUDs7Ozs7O29DQUtBLElBQUEsR0FBTSxTQUFBO1dBQUcsSUFBQyxDQUFBLFNBQUQsR0FBYTtFQUFoQjs7O0FBRU47Ozs7OztvQ0FLQSxNQUFBLEdBQVEsU0FBQTtXQUFHLElBQUMsQ0FBQSxTQUFELEdBQWE7RUFBaEI7OztBQUVSOzs7Ozs7b0NBS0EsS0FBQSxHQUFPLFNBQUE7V0FBRyxJQUFDLENBQUEsU0FBRCxHQUFhO0VBQWhCOzs7QUFFUDs7Ozs7O29DQUtBLE1BQUEsR0FBUSxTQUFBO0lBQ0osSUFBRyxJQUFDLENBQUEsU0FBSjtNQUNJLElBQUMsQ0FBQSxVQUFEO01BRUEsSUFBRyxJQUFDLENBQUEsVUFBRCxJQUFlLElBQUMsQ0FBQSxRQUFuQjtRQUNJLElBQUMsQ0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQWYsQ0FBb0IsU0FBcEIsRUFBK0IsSUFBQyxDQUFBLE1BQWhDO2VBQ0EsSUFBQyxDQUFBLFVBQUQsR0FBYyxFQUZsQjtPQUhKOztFQURJOzs7O0dBdkUwQixFQUFFLENBQUM7O0FBb0Z6QyxFQUFFLENBQUMsdUJBQUgsR0FBNkIiLCJzb3VyY2VzQ29udGVudCI6WyIjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiNcbiMgICBTY3JpcHQ6IENvbXBvbmVudF9JbnRlcnZhbFRpbWVyXG4jXG4jICAgJCRDT1BZUklHSFQkJFxuI1xuIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5jbGFzcyBDb21wb25lbnRfSW50ZXJ2YWxUaW1lciBleHRlbmRzIGdzLkNvbXBvbmVudFxuICAgICMjIypcbiAgICAqIEEgY29tcG9uZW50IHdoaWNoIGFkZHMgdGltaW5nLWZlYXR1cmVzIHRvIGEgZ2FtZSBvYmplY3QuIFRoZSBnYW1lIG9iamVjdFxuICAgICogd2lsbCBzZW5kIGFuIFwiZWxhcHNlZFwiIGV2ZW50IGV2ZXJ5dGltZSB0aGUgdGltZSBpbnRlcnZhbCBoYXMgYmVlbiBlbGFwc2VkLlxuICAgICpcbiAgICAqIEBtb2R1bGUgZ3NcbiAgICAqIEBjbGFzcyBDb21wb25lbnRfSW50ZXJ2YWxUaW1lclxuICAgICogQGV4dGVuZHMgZ3MuQ29tcG9uZW50XG4gICAgKiBAbWVtYmVyb2YgZ3NcbiAgICAjIyNcbiAgICBjb25zdHJ1Y3RvcjogLT5cbiAgICAgICAgc3VwZXIoKVxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIEluZGljYXRlcyBpZiB0aGUgdGltZXIgaXMgcnVubmluZy4gXG4gICAgICAgICpcbiAgICAgICAgKiBAcHJvcGVydHkgaXNSdW5uaW5nXG4gICAgICAgICogQHR5cGUgYm9vbGVhblxuICAgICAgICAqIEByZWFkT25seVxuICAgICAgICAjIyNcbiAgICAgICAgQGlzUnVubmluZyA9IG5vXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogQHByb3BlcnR5IGZyYW1lQ291bnRcbiAgICAgICAgKiBAdHlwZSBudW1iZXJcbiAgICAgICAgKiBAcHJpdmF0ZVxuICAgICAgICAjIyNcbiAgICAgICAgQGZyYW1lQ291bnQgPSAwXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogVGhlIGludGVydmFsIGF0IHdoaWNoIHRoZSBhc3NvY2lhdGVkIGFjdGlvbiB3aWxsIGJlIGV4ZWN1dGVkLlxuICAgICAgICAqIEBwcm9wZXJ0eSBpbnRlcnZhbFxuICAgICAgICAqIEB0eXBlIG51bWJlclxuICAgICAgICAjIyNcbiAgICAgICAgQGludGVydmFsID0gMFxuICAgICAgICBcbiAgICAjIyMqXG4gICAgKiBTdGFydHMgdGhlIHRpbWVyLiBcbiAgICAqXG4gICAgKiBAbWV0aG9kIHN0YXJ0XG4gICAgIyMjXG4gICAgc3RhcnQ6IC0+IFxuICAgICAgICBAaXNSdW5uaW5nID0geWVzXG4gICAgICAgIEBmcmFtZUNvdW50ID0gMFxuICAgICBcbiAgICAjIyMqXG4gICAgKiBTdG9wcyB0aGUgdGltZXIuIFxuICAgICpcbiAgICAqIEBtZXRob2Qgc3RvcFxuICAgICMjIyAgIFxuICAgIHN0b3A6IC0+IEBpc1J1bm5pbmcgPSBub1xuICAgIFxuICAgICMjIypcbiAgICAqIFJlc3VtZXMgdGhlIHRpbWVyLiBcbiAgICAqXG4gICAgKiBAbWV0aG9kIHJlc3VtZVxuICAgICMjI1xuICAgIHJlc3VtZTogLT4gQGlzUnVubmluZyA9IHllc1xuICAgIFxuICAgICMjIypcbiAgICAqIFBhdXNlcyB0aGUgdGltZXIuIFxuICAgICpcbiAgICAqIEBtZXRob2QgcGF1c2VcbiAgICAjIyNcbiAgICBwYXVzZTogLT4gQGlzUnVubmluZyA9IG5vXG4gICAgICAgIFxuICAgICMjIypcbiAgICAqIFVwZGF0ZXMgdGhlIHRpbWVyLlxuICAgICpcbiAgICAqIEBtZXRob2QgdXBkYXRlXG4gICAgIyMjXG4gICAgdXBkYXRlOiAtPlxuICAgICAgICBpZiBAaXNSdW5uaW5nXG4gICAgICAgICAgICBAZnJhbWVDb3VudCsrXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmIEBmcmFtZUNvdW50ID49IEBpbnRlcnZhbFxuICAgICAgICAgICAgICAgIEBvYmplY3QuZXZlbnRzLmVtaXQoXCJlbGFwc2VkXCIsIEBvYmplY3QpXG4gICAgICAgICAgICAgICAgQGZyYW1lQ291bnQgPSAwXG4gICAgICAgICAgICBcbiAgICAgICAgXG4gICAgICAgICAgICBcblxuICAgICAgICBcbiBcbmdzLkNvbXBvbmVudF9JbnRlcnZhbFRpbWVyID0gQ29tcG9uZW50X0ludGVydmFsVGltZXIiXX0=
//# sourceURL=Component_IntervalTimer_174.js
|
Revision |
Author |
Commited |
Message |
1084
|
MOliva
|
Fri 11 May, 2018 12:41:55 +0000 |
|