Subversion Repository Public Repository

Nextrek

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
    "uid": "5D77390EKDA50A4FB7SBF0CE5BFDF3D799F1",
    "isLoaded": true,
    "lastModificationTime": 0,
    "items": {
        "name": "Component_InputHandler",
        "type": "game_script",
        "order": 22,
        "content": "# ===================================================================\n#\n#   Script: Component_InputHandler\n#\n#   $$COPYRIGHT$$\n#\n# ===================================================================\nclass Component_InputHandler extends gs.Component\n    ###*\n    * The input-handler component is an interface between the input-system\n    * of the basic-engine and the game's event-system. In regular this\n    * component is used only by game scene to allow its game objects to\n    * receive input-events.\n    *\n    * Those input-events are necessary to solve the problem which game-object\n    * responds to a user-action first by building a responder-chain.\n    *\n    * @module gs\n    * @class Component_InputHandler\n    * @extends gs.Component\n    * @memberof gs\n    ###\n    constructor: ->\n        ###*\n        * Indicates if all input events, such as mouse and keyboard event, should be blocked.\n        *\n        * @property blockInput\n        * @type boolean\n        * @default false\n        ###\n        @blockInput = no\n     \n    ###*\n    * Sets up event handlers.\n    *\n    * @method setup\n    ###   \n    setup: ->\n        super\n        \n        gs.GlobalEventManager.on \"uiAnimationStart\", ((e) =>\n            @blockInput = yes\n        ), null, @object\n        gs.GlobalEventManager.on \"uiAnimationFinish\", ((e) =>\n            @blockInput = no\n        ), null, @object\n    \n    ###*\n    * Disposes the component and removes event handlers.\n    *\n    * @method dispose\n    ###    \n    dispose: ->\n        super\n        gs.GlobalEventManager.offByOwner(\"uiAnimationStart\", @object)\n        gs.GlobalEventManager.offByOwner(\"uiAnimationFinish\", @object)\n        \n    ###*\n    * Updates the component by checking the input-system and firing\n    * an input-event if necessary.\n    *\n    * @method update\n    ###\n    update: ->\n        return if @blockInput\n        \n        if Input.Mouse.moved\n            gs.GlobalEventManager.emit(\"mouseMoved\")\n        if Input.Mouse.buttonDown\n            gs.GlobalEventManager.emit(\"mouseDown\")\n        if Input.Mouse.buttonUp\n            gs.GlobalEventManager.emit(\"mouseUp\")\n        if Input.keyDown\n            gs.GlobalEventManager.emit(\"keyDown\")\n        if Input.keyUp\n            gs.GlobalEventManager.emit(\"keyUp\")\n        if Input.Mouse.wheelChanged\n            gs.GlobalEventManager.emit(\"mouseWheel\")\n            \ngs.Component_InputHandler = Component_InputHandler",
        "parentId": "D3325122KACDEA4515SB731E37A42B9D779F",
        "folder": false,
        "compiledContent": "var Component_InputHandler,\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_InputHandler = (function(superClass) {\n  extend(Component_InputHandler, superClass);\n\n\n  /**\n  * The input-handler component is an interface between the input-system\n  * of the basic-engine and the game's event-system. In regular this\n  * component is used only by game scene to allow its game objects to\n  * receive input-events.\n  *\n  * Those input-events are necessary to solve the problem which game-object\n  * responds to a user-action first by building a responder-chain.\n  *\n  * @module gs\n  * @class Component_InputHandler\n  * @extends gs.Component\n  * @memberof gs\n   */\n\n  function Component_InputHandler() {\n\n    /**\n    * Indicates if all input events, such as mouse and keyboard event, should be blocked.\n    *\n    * @property blockInput\n    * @type boolean\n    * @default false\n     */\n    this.blockInput = false;\n  }\n\n\n  /**\n  * Sets up event handlers.\n  *\n  * @method setup\n   */\n\n  Component_InputHandler.prototype.setup = function() {\n    Component_InputHandler.__super__.setup.apply(this, arguments);\n    gs.GlobalEventManager.on(\"uiAnimationStart\", ((function(_this) {\n      return function(e) {\n        return _this.blockInput = true;\n      };\n    })(this)), null, this.object);\n    return gs.GlobalEventManager.on(\"uiAnimationFinish\", ((function(_this) {\n      return function(e) {\n        return _this.blockInput = false;\n      };\n    })(this)), null, this.object);\n  };\n\n\n  /**\n  * Disposes the component and removes event handlers.\n  *\n  * @method dispose\n   */\n\n  Component_InputHandler.prototype.dispose = function() {\n    Component_InputHandler.__super__.dispose.apply(this, arguments);\n    gs.GlobalEventManager.offByOwner(\"uiAnimationStart\", this.object);\n    return gs.GlobalEventManager.offByOwner(\"uiAnimationFinish\", this.object);\n  };\n\n\n  /**\n  * Updates the component by checking the input-system and firing\n  * an input-event if necessary.\n  *\n  * @method update\n   */\n\n  Component_InputHandler.prototype.update = function() {\n    if (this.blockInput) {\n      return;\n    }\n    if (Input.Mouse.moved) {\n      gs.GlobalEventManager.emit(\"mouseMoved\");\n    }\n    if (Input.Mouse.buttonDown) {\n      gs.GlobalEventManager.emit(\"mouseDown\");\n    }\n    if (Input.Mouse.buttonUp) {\n      gs.GlobalEventManager.emit(\"mouseUp\");\n    }\n    if (Input.keyDown) {\n      gs.GlobalEventManager.emit(\"keyDown\");\n    }\n    if (Input.keyUp) {\n      gs.GlobalEventManager.emit(\"keyUp\");\n    }\n    if (Input.Mouse.wheelChanged) {\n      return gs.GlobalEventManager.emit(\"mouseWheel\");\n    }\n  };\n\n  return Component_InputHandler;\n\n})(gs.Component);\n\ngs.Component_InputHandler = Component_InputHandler;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsc0JBQUE7RUFBQTs7O0FBQU07Ozs7QUFDRjs7Ozs7Ozs7Ozs7Ozs7O0VBY2EsZ0NBQUE7O0FBQ1Q7Ozs7Ozs7SUFPQSxJQUFDLENBQUEsVUFBRCxHQUFjO0VBUkw7OztBQVViOzs7Ozs7bUNBS0EsS0FBQSxHQUFPLFNBQUE7SUFDSCxtREFBQSxTQUFBO0lBRUEsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQXRCLENBQXlCLGtCQUF6QixFQUE2QyxDQUFDLENBQUEsU0FBQSxLQUFBO2FBQUEsU0FBQyxDQUFEO2VBQzFDLEtBQUMsQ0FBQSxVQUFELEdBQWM7TUFENEI7SUFBQSxDQUFBLENBQUEsQ0FBQSxJQUFBLENBQUQsQ0FBN0MsRUFFRyxJQUZILEVBRVMsSUFBQyxDQUFBLE1BRlY7V0FHQSxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBdEIsQ0FBeUIsbUJBQXpCLEVBQThDLENBQUMsQ0FBQSxTQUFBLEtBQUE7YUFBQSxTQUFDLENBQUQ7ZUFDM0MsS0FBQyxDQUFBLFVBQUQsR0FBYztNQUQ2QjtJQUFBLENBQUEsQ0FBQSxDQUFBLElBQUEsQ0FBRCxDQUE5QyxFQUVHLElBRkgsRUFFUyxJQUFDLENBQUEsTUFGVjtFQU5HOzs7QUFVUDs7Ozs7O21DQUtBLE9BQUEsR0FBUyxTQUFBO0lBQ0wscURBQUEsU0FBQTtJQUNBLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxVQUF0QixDQUFpQyxrQkFBakMsRUFBcUQsSUFBQyxDQUFBLE1BQXREO1dBQ0EsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFVBQXRCLENBQWlDLG1CQUFqQyxFQUFzRCxJQUFDLENBQUEsTUFBdkQ7RUFISzs7O0FBS1Q7Ozs7Ozs7bUNBTUEsTUFBQSxHQUFRLFNBQUE7SUFDSixJQUFVLElBQUMsQ0FBQSxVQUFYO0FBQUEsYUFBQTs7SUFFQSxJQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBZjtNQUNJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUF0QixDQUEyQixZQUEzQixFQURKOztJQUVBLElBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFmO01BQ0ksRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQXRCLENBQTJCLFdBQTNCLEVBREo7O0lBRUEsSUFBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQWY7TUFDSSxFQUFFLENBQUMsa0JBQWtCLENBQUMsSUFBdEIsQ0FBMkIsU0FBM0IsRUFESjs7SUFFQSxJQUFHLEtBQUssQ0FBQyxPQUFUO01BQ0ksRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQXRCLENBQTJCLFNBQTNCLEVBREo7O0lBRUEsSUFBRyxLQUFLLENBQUMsS0FBVDtNQUNJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUF0QixDQUEyQixPQUEzQixFQURKOztJQUVBLElBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFmO2FBQ0ksRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQXRCLENBQTJCLFlBQTNCLEVBREo7O0VBYkk7Ozs7R0F4RHlCLEVBQUUsQ0FBQzs7QUF3RXhDLEVBQUUsQ0FBQyxzQkFBSCxHQUE0QiIsInNvdXJjZXNDb250ZW50IjpbIiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuI1xuIyAgIFNjcmlwdDogQ29tcG9uZW50X0lucHV0SGFuZGxlclxuI1xuIyAgICQkQ09QWVJJR0hUJCRcbiNcbiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuY2xhc3MgQ29tcG9uZW50X0lucHV0SGFuZGxlciBleHRlbmRzIGdzLkNvbXBvbmVudFxuICAgICMjIypcbiAgICAqIFRoZSBpbnB1dC1oYW5kbGVyIGNvbXBvbmVudCBpcyBhbiBpbnRlcmZhY2UgYmV0d2VlbiB0aGUgaW5wdXQtc3lzdGVtXG4gICAgKiBvZiB0aGUgYmFzaWMtZW5naW5lIGFuZCB0aGUgZ2FtZSdzIGV2ZW50LXN5c3RlbS4gSW4gcmVndWxhciB0aGlzXG4gICAgKiBjb21wb25lbnQgaXMgdXNlZCBvbmx5IGJ5IGdhbWUgc2NlbmUgdG8gYWxsb3cgaXRzIGdhbWUgb2JqZWN0cyB0b1xuICAgICogcmVjZWl2ZSBpbnB1dC1ldmVudHMuXG4gICAgKlxuICAgICogVGhvc2UgaW5wdXQtZXZlbnRzIGFyZSBuZWNlc3NhcnkgdG8gc29sdmUgdGhlIHByb2JsZW0gd2hpY2ggZ2FtZS1vYmplY3RcbiAgICAqIHJlc3BvbmRzIHRvIGEgdXNlci1hY3Rpb24gZmlyc3QgYnkgYnVpbGRpbmcgYSByZXNwb25kZXItY2hhaW4uXG4gICAgKlxuICAgICogQG1vZHVsZSBnc1xuICAgICogQGNsYXNzIENvbXBvbmVudF9JbnB1dEhhbmRsZXJcbiAgICAqIEBleHRlbmRzIGdzLkNvbXBvbmVudFxuICAgICogQG1lbWJlcm9mIGdzXG4gICAgIyMjXG4gICAgY29uc3RydWN0b3I6IC0+XG4gICAgICAgICMjIypcbiAgICAgICAgKiBJbmRpY2F0ZXMgaWYgYWxsIGlucHV0IGV2ZW50cywgc3VjaCBhcyBtb3VzZSBhbmQga2V5Ym9hcmQgZXZlbnQsIHNob3VsZCBiZSBibG9ja2VkLlxuICAgICAgICAqXG4gICAgICAgICogQHByb3BlcnR5IGJsb2NrSW5wdXRcbiAgICAgICAgKiBAdHlwZSBib29sZWFuXG4gICAgICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgICAgIyMjXG4gICAgICAgIEBibG9ja0lucHV0ID0gbm9cbiAgICAgXG4gICAgIyMjKlxuICAgICogU2V0cyB1cCBldmVudCBoYW5kbGVycy5cbiAgICAqXG4gICAgKiBAbWV0aG9kIHNldHVwXG4gICAgIyMjICAgXG4gICAgc2V0dXA6IC0+XG4gICAgICAgIHN1cGVyXG4gICAgICAgIFxuICAgICAgICBncy5HbG9iYWxFdmVudE1hbmFnZXIub24gXCJ1aUFuaW1hdGlvblN0YXJ0XCIsICgoZSkgPT5cbiAgICAgICAgICAgIEBibG9ja0lucHV0ID0geWVzXG4gICAgICAgICksIG51bGwsIEBvYmplY3RcbiAgICAgICAgZ3MuR2xvYmFsRXZlbnRNYW5hZ2VyLm9uIFwidWlBbmltYXRpb25GaW5pc2hcIiwgKChlKSA9PlxuICAgICAgICAgICAgQGJsb2NrSW5wdXQgPSBub1xuICAgICAgICApLCBudWxsLCBAb2JqZWN0XG4gICAgXG4gICAgIyMjKlxuICAgICogRGlzcG9zZXMgdGhlIGNvbXBvbmVudCBhbmQgcmVtb3ZlcyBldmVudCBoYW5kbGVycy5cbiAgICAqXG4gICAgKiBAbWV0aG9kIGRpc3Bvc2VcbiAgICAjIyMgICAgXG4gICAgZGlzcG9zZTogLT5cbiAgICAgICAgc3VwZXJcbiAgICAgICAgZ3MuR2xvYmFsRXZlbnRNYW5hZ2VyLm9mZkJ5T3duZXIoXCJ1aUFuaW1hdGlvblN0YXJ0XCIsIEBvYmplY3QpXG4gICAgICAgIGdzLkdsb2JhbEV2ZW50TWFuYWdlci5vZmZCeU93bmVyKFwidWlBbmltYXRpb25GaW5pc2hcIiwgQG9iamVjdClcbiAgICAgICAgXG4gICAgIyMjKlxuICAgICogVXBkYXRlcyB0aGUgY29tcG9uZW50IGJ5IGNoZWNraW5nIHRoZSBpbnB1dC1zeXN0ZW0gYW5kIGZpcmluZ1xuICAgICogYW4gaW5wdXQtZXZlbnQgaWYgbmVjZXNzYXJ5LlxuICAgICpcbiAgICAqIEBtZXRob2QgdXBkYXRlXG4gICAgIyMjXG4gICAgdXBkYXRlOiAtPlxuICAgICAgICByZXR1cm4gaWYgQGJsb2NrSW5wdXRcbiAgICAgICAgXG4gICAgICAgIGlmIElucHV0Lk1vdXNlLm1vdmVkXG4gICAgICAgICAgICBncy5HbG9iYWxFdmVudE1hbmFnZXIuZW1pdChcIm1vdXNlTW92ZWRcIilcbiAgICAgICAgaWYgSW5wdXQuTW91c2UuYnV0dG9uRG93blxuICAgICAgICAgICAgZ3MuR2xvYmFsRXZlbnRNYW5hZ2VyLmVtaXQoXCJtb3VzZURvd25cIilcbiAgICAgICAgaWYgSW5wdXQuTW91c2UuYnV0dG9uVXBcbiAgICAgICAgICAgIGdzLkdsb2JhbEV2ZW50TWFuYWdlci5lbWl0KFwibW91c2VVcFwiKVxuICAgICAgICBpZiBJbnB1dC5rZXlEb3duXG4gICAgICAgICAgICBncy5HbG9iYWxFdmVudE1hbmFnZXIuZW1pdChcImtleURvd25cIilcbiAgICAgICAgaWYgSW5wdXQua2V5VXBcbiAgICAgICAgICAgIGdzLkdsb2JhbEV2ZW50TWFuYWdlci5lbWl0KFwia2V5VXBcIilcbiAgICAgICAgaWYgSW5wdXQuTW91c2Uud2hlZWxDaGFuZ2VkXG4gICAgICAgICAgICBncy5HbG9iYWxFdmVudE1hbmFnZXIuZW1pdChcIm1vdXNlV2hlZWxcIilcbiAgICAgICAgICAgIFxuZ3MuQ29tcG9uZW50X0lucHV0SGFuZGxlciA9IENvbXBvbmVudF9JbnB1dEhhbmRsZXIiXX0=\n//# sourceURL=Component_InputHandler_180.js"
    },
    "summary": [
        "name",
        "type",
        "order"
    ]
}

Commits for Nextrek/s2s/data/5D77390EKDA50A4FB7SBF0CE5BFDF3D799F1.json

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