Subversion Repository Public Repository

Nextrek

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
    "uid": "ADF3B7B7K9DD6A4303S98F5E69C4B1C57BA6",
    "isLoaded": true,
    "lastModificationTime": 1428415344559,
    "items": {
        "name": "Component_Timer",
        "type": "game_script",
        "order": 20,
        "content": "# ===================================================================\n#\n#   Script: Component_Timer\n#\n#   $$COPYRIGHT$$\n#\n# ===================================================================\nclass Component_Timer extends gs.Component\n    ###*\n    * A component which adds timing-features to a game object. A timer-component\n    * can be used as a regular timer or as a stop-watch.\n    *\n    * @module gs\n    * @class Component_Timer\n    * @extends gs.Component\n    * @memberof gs\n    ###\n    constructor: ->\n        super()\n        \n        ###*\n        * Indicates if the timer is running. \n        *\n        * @property isRunning\n        * @type boolean\n        * @readOnly\n        ###\n        @isRunning = no\n        \n        ###*\n        * @property frameCount\n        * @type number\n        * @private\n        ###\n        @frameCount = 0\n        \n    ###*\n    * Starts the timer. \n    *\n    * @method start\n    ###\n    start: -> \n        @isRunning = yes\n        \n        if @object.stopWatch\n            @frameCount = 0\n        else\n            @frameCount = @minutes * 60 * 60 + @seconds * 60\n     \n    ###*\n    * Stops the timer. \n    *\n    * @method stop\n    ###   \n    stop: -> @isRunning = no\n    \n    ###*\n    * Resumes the timer. \n    *\n    * @method resume\n    ###\n    resume: -> @isRunning = yes\n    \n    ###*\n    * Pauses the timer. \n    *\n    * @method pause\n    ###\n    pause: -> @isRunning = no\n        \n    ###*\n    * Updates the timer.\n    *\n    * @method update\n    ###\n    update: ->\n        if @object.stopWatch\n            @updateStopWatch()\n        else\n            @updateTimer()\n            \n    ###*\n    * Updates the regular timer behavior\n    *\n    * @method updateTimer\n    ###\n    updateTimer: ->\n        if @isRunning and @frameCount == 0\n            @isRunning = no\n            @object.events?.emit(\"finish\", this)\n        if not @isRunning then return\n        \n        seconds = Math.round(@frameCount / 60)\n        \n        @seconds = seconds % 60\n        @minutes = Math.floor(seconds / 60)\n        \n        @frameCount--\n        \n    ###*\n    * Updates the stop-watch behavior\n    *\n    * @method updateStopWatch\n    ###\n    updateStopWatch: ->\n        if not @isRunning then return\n        \n        seconds = Math.round(@frameCount / 60)\n        \n        @seconds = seconds % 60\n        @minutes = Math.floor(seconds / 60)\n        \n        @frameCount++\n        \n            \n\n        \n \ngs.Component_Timer = Component_Timer",
        "compiledContent": "var Component_Timer,\n  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; },\n  hasProp = {}.hasOwnProperty;\n\nComponent_Timer = (function(superClass) {\n  extend(Component_Timer, superClass);\n\n\n  /**\n  * A component which adds timing-features to a game object. A timer-component\n  * can be used as a regular timer or as a stop-watch.\n  *\n  * @module gs\n  * @class Component_Timer\n  * @extends gs.Component\n  * @memberof gs\n   */\n\n  function Component_Timer() {\n    Component_Timer.__super__.constructor.call(this);\n\n    /**\n    * Indicates if the timer is running. \n    *\n    * @property isRunning\n    * @type boolean\n    * @readOnly\n     */\n    this.isRunning = false;\n\n    /**\n    * @property frameCount\n    * @type number\n    * @private\n     */\n    this.frameCount = 0;\n  }\n\n\n  /**\n  * Starts the timer. \n  *\n  * @method start\n   */\n\n  Component_Timer.prototype.start = function() {\n    this.isRunning = true;\n    if (this.object.stopWatch) {\n      return this.frameCount = 0;\n    } else {\n      return this.frameCount = this.minutes * 60 * 60 + this.seconds * 60;\n    }\n  };\n\n\n  /**\n  * Stops the timer. \n  *\n  * @method stop\n   */\n\n  Component_Timer.prototype.stop = function() {\n    return this.isRunning = false;\n  };\n\n\n  /**\n  * Resumes the timer. \n  *\n  * @method resume\n   */\n\n  Component_Timer.prototype.resume = function() {\n    return this.isRunning = true;\n  };\n\n\n  /**\n  * Pauses the timer. \n  *\n  * @method pause\n   */\n\n  Component_Timer.prototype.pause = function() {\n    return this.isRunning = false;\n  };\n\n\n  /**\n  * Updates the timer.\n  *\n  * @method update\n   */\n\n  Component_Timer.prototype.update = function() {\n    if (this.object.stopWatch) {\n      return this.updateStopWatch();\n    } else {\n      return this.updateTimer();\n    }\n  };\n\n\n  /**\n  * Updates the regular timer behavior\n  *\n  * @method updateTimer\n   */\n\n  Component_Timer.prototype.updateTimer = function() {\n    var ref, seconds;\n    if (this.isRunning && this.frameCount === 0) {\n      this.isRunning = false;\n      if ((ref = this.object.events) != null) {\n        ref.emit(\"finish\", this);\n      }\n    }\n    if (!this.isRunning) {\n      return;\n    }\n    seconds = Math.round(this.frameCount / 60);\n    this.seconds = seconds % 60;\n    this.minutes = Math.floor(seconds / 60);\n    return this.frameCount--;\n  };\n\n\n  /**\n  * Updates the stop-watch behavior\n  *\n  * @method updateStopWatch\n   */\n\n  Component_Timer.prototype.updateStopWatch = function() {\n    var seconds;\n    if (!this.isRunning) {\n      return;\n    }\n    seconds = Math.round(this.frameCount / 60);\n    this.seconds = seconds % 60;\n    this.minutes = Math.floor(seconds / 60);\n    return this.frameCount++;\n  };\n\n  return Component_Timer;\n\n})(gs.Component);\n\ngs.Component_Timer = Component_Timer;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsZUFBQTtFQUFBOzs7QUFBTTs7OztBQUNGOzs7Ozs7Ozs7O0VBU2EseUJBQUE7SUFDVCwrQ0FBQTs7QUFFQTs7Ozs7OztJQU9BLElBQUMsQ0FBQSxTQUFELEdBQWE7O0FBRWI7Ozs7O0lBS0EsSUFBQyxDQUFBLFVBQUQsR0FBYztFQWpCTDs7O0FBbUJiOzs7Ozs7NEJBS0EsS0FBQSxHQUFPLFNBQUE7SUFDSCxJQUFDLENBQUEsU0FBRCxHQUFhO0lBRWIsSUFBRyxJQUFDLENBQUEsTUFBTSxDQUFDLFNBQVg7YUFDSSxJQUFDLENBQUEsVUFBRCxHQUFjLEVBRGxCO0tBQUEsTUFBQTthQUdJLElBQUMsQ0FBQSxVQUFELEdBQWMsSUFBQyxDQUFBLE9BQUQsR0FBVyxFQUFYLEdBQWdCLEVBQWhCLEdBQXFCLElBQUMsQ0FBQSxPQUFELEdBQVcsR0FIbEQ7O0VBSEc7OztBQVFQOzs7Ozs7NEJBS0EsSUFBQSxHQUFNLFNBQUE7V0FBRyxJQUFDLENBQUEsU0FBRCxHQUFhO0VBQWhCOzs7QUFFTjs7Ozs7OzRCQUtBLE1BQUEsR0FBUSxTQUFBO1dBQUcsSUFBQyxDQUFBLFNBQUQsR0FBYTtFQUFoQjs7O0FBRVI7Ozs7Ozs0QkFLQSxLQUFBLEdBQU8sU0FBQTtXQUFHLElBQUMsQ0FBQSxTQUFELEdBQWE7RUFBaEI7OztBQUVQOzs7Ozs7NEJBS0EsTUFBQSxHQUFRLFNBQUE7SUFDSixJQUFHLElBQUMsQ0FBQSxNQUFNLENBQUMsU0FBWDthQUNJLElBQUMsQ0FBQSxlQUFELENBQUEsRUFESjtLQUFBLE1BQUE7YUFHSSxJQUFDLENBQUEsV0FBRCxDQUFBLEVBSEo7O0VBREk7OztBQU1SOzs7Ozs7NEJBS0EsV0FBQSxHQUFhLFNBQUE7QUFDVCxRQUFBO0lBQUEsSUFBRyxJQUFDLENBQUEsU0FBRCxJQUFlLElBQUMsQ0FBQSxVQUFELEtBQWUsQ0FBakM7TUFDSSxJQUFDLENBQUEsU0FBRCxHQUFhOztXQUNDLENBQUUsSUFBaEIsQ0FBcUIsUUFBckIsRUFBK0IsSUFBL0I7T0FGSjs7SUFHQSxJQUFHLENBQUksSUFBQyxDQUFBLFNBQVI7QUFBdUIsYUFBdkI7O0lBRUEsT0FBQSxHQUFVLElBQUksQ0FBQyxLQUFMLENBQVcsSUFBQyxDQUFBLFVBQUQsR0FBYyxFQUF6QjtJQUVWLElBQUMsQ0FBQSxPQUFELEdBQVcsT0FBQSxHQUFVO0lBQ3JCLElBQUMsQ0FBQSxPQUFELEdBQVcsSUFBSSxDQUFDLEtBQUwsQ0FBVyxPQUFBLEdBQVUsRUFBckI7V0FFWCxJQUFDLENBQUEsVUFBRDtFQVhTOzs7QUFhYjs7Ozs7OzRCQUtBLGVBQUEsR0FBaUIsU0FBQTtBQUNiLFFBQUE7SUFBQSxJQUFHLENBQUksSUFBQyxDQUFBLFNBQVI7QUFBdUIsYUFBdkI7O0lBRUEsT0FBQSxHQUFVLElBQUksQ0FBQyxLQUFMLENBQVcsSUFBQyxDQUFBLFVBQUQsR0FBYyxFQUF6QjtJQUVWLElBQUMsQ0FBQSxPQUFELEdBQVcsT0FBQSxHQUFVO0lBQ3JCLElBQUMsQ0FBQSxPQUFELEdBQVcsSUFBSSxDQUFDLEtBQUwsQ0FBVyxPQUFBLEdBQVUsRUFBckI7V0FFWCxJQUFDLENBQUEsVUFBRDtFQVJhOzs7O0dBakdTLEVBQUUsQ0FBQzs7QUErR2pDLEVBQUUsQ0FBQyxlQUFILEdBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4jXG4jICAgU2NyaXB0OiBDb21wb25lbnRfVGltZXJcbiNcbiMgICAkJENPUFlSSUdIVCQkXG4jXG4jID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmNsYXNzIENvbXBvbmVudF9UaW1lciBleHRlbmRzIGdzLkNvbXBvbmVudFxuICAgICMjIypcbiAgICAqIEEgY29tcG9uZW50IHdoaWNoIGFkZHMgdGltaW5nLWZlYXR1cmVzIHRvIGEgZ2FtZSBvYmplY3QuIEEgdGltZXItY29tcG9uZW50XG4gICAgKiBjYW4gYmUgdXNlZCBhcyBhIHJlZ3VsYXIgdGltZXIgb3IgYXMgYSBzdG9wLXdhdGNoLlxuICAgICpcbiAgICAqIEBtb2R1bGUgZ3NcbiAgICAqIEBjbGFzcyBDb21wb25lbnRfVGltZXJcbiAgICAqIEBleHRlbmRzIGdzLkNvbXBvbmVudFxuICAgICogQG1lbWJlcm9mIGdzXG4gICAgIyMjXG4gICAgY29uc3RydWN0b3I6IC0+XG4gICAgICAgIHN1cGVyKClcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIHRpbWVyIGlzIHJ1bm5pbmcuIFxuICAgICAgICAqXG4gICAgICAgICogQHByb3BlcnR5IGlzUnVubmluZ1xuICAgICAgICAqIEB0eXBlIGJvb2xlYW5cbiAgICAgICAgKiBAcmVhZE9ubHlcbiAgICAgICAgIyMjXG4gICAgICAgIEBpc1J1bm5pbmcgPSBub1xuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIEBwcm9wZXJ0eSBmcmFtZUNvdW50XG4gICAgICAgICogQHR5cGUgbnVtYmVyXG4gICAgICAgICogQHByaXZhdGVcbiAgICAgICAgIyMjXG4gICAgICAgIEBmcmFtZUNvdW50ID0gMFxuICAgICAgICBcbiAgICAjIyMqXG4gICAgKiBTdGFydHMgdGhlIHRpbWVyLiBcbiAgICAqXG4gICAgKiBAbWV0aG9kIHN0YXJ0XG4gICAgIyMjXG4gICAgc3RhcnQ6IC0+IFxuICAgICAgICBAaXNSdW5uaW5nID0geWVzXG4gICAgICAgIFxuICAgICAgICBpZiBAb2JqZWN0LnN0b3BXYXRjaFxuICAgICAgICAgICAgQGZyYW1lQ291bnQgPSAwXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIEBmcmFtZUNvdW50ID0gQG1pbnV0ZXMgKiA2MCAqIDYwICsgQHNlY29uZHMgKiA2MFxuICAgICBcbiAgICAjIyMqXG4gICAgKiBTdG9wcyB0aGUgdGltZXIuIFxuICAgICpcbiAgICAqIEBtZXRob2Qgc3RvcFxuICAgICMjIyAgIFxuICAgIHN0b3A6IC0+IEBpc1J1bm5pbmcgPSBub1xuICAgIFxuICAgICMjIypcbiAgICAqIFJlc3VtZXMgdGhlIHRpbWVyLiBcbiAgICAqXG4gICAgKiBAbWV0aG9kIHJlc3VtZVxuICAgICMjI1xuICAgIHJlc3VtZTogLT4gQGlzUnVubmluZyA9IHllc1xuICAgIFxuICAgICMjIypcbiAgICAqIFBhdXNlcyB0aGUgdGltZXIuIFxuICAgICpcbiAgICAqIEBtZXRob2QgcGF1c2VcbiAgICAjIyNcbiAgICBwYXVzZTogLT4gQGlzUnVubmluZyA9IG5vXG4gICAgICAgIFxuICAgICMjIypcbiAgICAqIFVwZGF0ZXMgdGhlIHRpbWVyLlxuICAgICpcbiAgICAqIEBtZXRob2QgdXBkYXRlXG4gICAgIyMjXG4gICAgdXBkYXRlOiAtPlxuICAgICAgICBpZiBAb2JqZWN0LnN0b3BXYXRjaFxuICAgICAgICAgICAgQHVwZGF0ZVN0b3BXYXRjaCgpXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIEB1cGRhdGVUaW1lcigpXG4gICAgICAgICAgICBcbiAgICAjIyMqXG4gICAgKiBVcGRhdGVzIHRoZSByZWd1bGFyIHRpbWVyIGJlaGF2aW9yXG4gICAgKlxuICAgICogQG1ldGhvZCB1cGRhdGVUaW1lclxuICAgICMjI1xuICAgIHVwZGF0ZVRpbWVyOiAtPlxuICAgICAgICBpZiBAaXNSdW5uaW5nIGFuZCBAZnJhbWVDb3VudCA9PSAwXG4gICAgICAgICAgICBAaXNSdW5uaW5nID0gbm9cbiAgICAgICAgICAgIEBvYmplY3QuZXZlbnRzPy5lbWl0KFwiZmluaXNoXCIsIHRoaXMpXG4gICAgICAgIGlmIG5vdCBAaXNSdW5uaW5nIHRoZW4gcmV0dXJuXG4gICAgICAgIFxuICAgICAgICBzZWNvbmRzID0gTWF0aC5yb3VuZChAZnJhbWVDb3VudCAvIDYwKVxuICAgICAgICBcbiAgICAgICAgQHNlY29uZHMgPSBzZWNvbmRzICUgNjBcbiAgICAgICAgQG1pbnV0ZXMgPSBNYXRoLmZsb29yKHNlY29uZHMgLyA2MClcbiAgICAgICAgXG4gICAgICAgIEBmcmFtZUNvdW50LS1cbiAgICAgICAgXG4gICAgIyMjKlxuICAgICogVXBkYXRlcyB0aGUgc3RvcC13YXRjaCBiZWhhdmlvclxuICAgICpcbiAgICAqIEBtZXRob2QgdXBkYXRlU3RvcFdhdGNoXG4gICAgIyMjXG4gICAgdXBkYXRlU3RvcFdhdGNoOiAtPlxuICAgICAgICBpZiBub3QgQGlzUnVubmluZyB0aGVuIHJldHVyblxuICAgICAgICBcbiAgICAgICAgc2Vjb25kcyA9IE1hdGgucm91bmQoQGZyYW1lQ291bnQgLyA2MClcbiAgICAgICAgXG4gICAgICAgIEBzZWNvbmRzID0gc2Vjb25kcyAlIDYwXG4gICAgICAgIEBtaW51dGVzID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gNjApXG4gICAgICAgIFxuICAgICAgICBAZnJhbWVDb3VudCsrXG4gICAgICAgIFxuICAgICAgICAgICAgXG5cbiAgICAgICAgXG4gXG5ncy5Db21wb25lbnRfVGltZXIgPSBDb21wb25lbnRfVGltZXIiXX0=\n//# sourceURL=Component_Timer_173.js",
        "parentId": "D3325122KACDEA4515SB731E37A42B9D779F"
    },
    "summary": [
        "name",
        "type",
        "order"
    ]
}

Commits for Nextrek/s2s/data/ADF3B7B7K9DD6A4303S98F5E69C4B1C57BA6.json

Diff revisions: vs.
Revision Author Commited Message
1084 MOliva picture MOliva Fri 11 May, 2018 12:41:55 +0000