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": "871555D049A31243DD487BE58F07F78441AB",
    "isLoaded": true,
    "lastModificationTime": 0,
    "items": {
        "name": "Component_WebStartBehavior",
        "type": "game_script",
        "order": 3,
        "content": "# ===================================================================\n#\n#   Script: Component_WebStartBehavior\n#\n#   $$COPYRIGHT$$\n#\n# ===================================================================\nclass Component_WebStartBehavior extends gs.Component_LayoutSceneBehavior\n    ###*\n    * The web-start scene is used if the game has been loaded via mobile webbrowser. That web-start\n    * scene lets the player tap on the screen to start the actual game which is necessary to make\n    * audio-playback working because of browser-security.\n    *\n    * @module gs\n    * @class Component_WebStartBehavior \n    * @extends gs.Component_LayoutSceneBehavior\n    * @memberof gs\n    ###\n    constructor: ->\n        super\n    \n    ###*\n    * Initializes the web-start scene. It just creates a full-screen\n    * DIV layer with a touch event-handler to play a sound if tapped and then switch\n    * to the language-menu / intro-scene to start the actual game.\n    *\n    * @method initialize\n    ### \n    initialize: ->\n        super\n        window.music = new Audio()\n        window.music.src = gs.Application.getPlatformSpecificAudioFilePath(\"Audio/Sounds/choice_confirm_01\")\n        @sound = ResourceManager.getAudioBuffer(\"Audio/Sounds/choice_confirm_01\")\n        @button = jQuery(\"<div></div>\")\n        @button.css(\"position\", \"absolute\")\n        @button.css(\"left\", \"0px\")\n        @button.css(\"top\", \"0px\")\n        @button.width(Graphics.width)\n        @button.height(Graphics.height)\n        @button.css(\"background-color\", \"transparent\")\n        @button.css(\"z-order\", 999999)\n        @button.click (e) =>\n            @sound.play()    \n            window.music.play()\n            @button.remove()\n            @button = null\n            setTimeout ->\n                SceneManager.switchTo(new gs.Object_Layout(\"languageMenuLayout\"))\n            ,\n            450\n            \n        @button[0].addEventListener \"touchstart\", (e) =>\n            @sound.play()    \n            window.music.play()\n            \n            @button.remove()\n            @button = null\n            SceneManager.switchTo(new gs.Object_Layout(\"languageMenuLayout\"))\n            setTimeout ->\n                window.music.pause()\n                window.music = null\n                SceneManager.switchTo(new gs.Object_Layout(\"languageMenuLayout\"))\n            ,\n            450\n                \n                \n        jQuery(document.body).append(@button)\n        \n    ###*\n    * Prepares all visual game objects for the scene.\n    *\n    * @method prepareVisual\n    ### \n    prepareVisual: ->\n        super\n      \n    ###*\n    * Prepares all data for the scene and loads the necessary graphic and audio resources.\n    *\n    * @method prepareData\n    ###   \n    prepareData: ->\n        super\n        \n    ###*\n    * Update the scene's content. Here you can implement any kind of additional logic\n    * you want.\n    *\n    * @method updateContent\n    ### \n    updateContent: ->\n        super\n        \ngs.Component_WebStartBehavior = Component_WebStartBehavior",
        "parentId": "0C1D8BE8KDB63A469AS9782EB90E63254DB3",
        "folder": false,
        "scriptType": 0,
        "compiledContent": "var Component_WebStartBehavior,\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_WebStartBehavior = (function(superClass) {\n  extend(Component_WebStartBehavior, superClass);\n\n\n  /**\n  * The web-start scene is used if the game has been loaded via mobile webbrowser. That web-start\n  * scene lets the player tap on the screen to start the actual game which is necessary to make\n  * audio-playback working because of browser-security.\n  *\n  * @module gs\n  * @class Component_WebStartBehavior \n  * @extends gs.Component_LayoutSceneBehavior\n  * @memberof gs\n   */\n\n  function Component_WebStartBehavior() {\n    Component_WebStartBehavior.__super__.constructor.apply(this, arguments);\n  }\n\n\n  /**\n  * Initializes the web-start scene. It just creates a full-screen\n  * DIV layer with a touch event-handler to play a sound if tapped and then switch\n  * to the language-menu / intro-scene to start the actual game.\n  *\n  * @method initialize\n   */\n\n  Component_WebStartBehavior.prototype.initialize = function() {\n    Component_WebStartBehavior.__super__.initialize.apply(this, arguments);\n    window.music = new Audio();\n    window.music.src = gs.Application.getPlatformSpecificAudioFilePath(\"Audio/Sounds/choice_confirm_01\");\n    this.sound = ResourceManager.getAudioBuffer(\"Audio/Sounds/choice_confirm_01\");\n    this.button = jQuery(\"<div></div>\");\n    this.button.css(\"position\", \"absolute\");\n    this.button.css(\"left\", \"0px\");\n    this.button.css(\"top\", \"0px\");\n    this.button.width(Graphics.width);\n    this.button.height(Graphics.height);\n    this.button.css(\"background-color\", \"transparent\");\n    this.button.css(\"z-order\", 999999);\n    this.button.click((function(_this) {\n      return function(e) {\n        _this.sound.play();\n        window.music.play();\n        _this.button.remove();\n        _this.button = null;\n        return setTimeout(function() {\n          return SceneManager.switchTo(new gs.Object_Layout(\"languageMenuLayout\"));\n        }, 450);\n      };\n    })(this));\n    this.button[0].addEventListener(\"touchstart\", (function(_this) {\n      return function(e) {\n        _this.sound.play();\n        window.music.play();\n        _this.button.remove();\n        _this.button = null;\n        SceneManager.switchTo(new gs.Object_Layout(\"languageMenuLayout\"));\n        return setTimeout(function() {\n          window.music.pause();\n          window.music = null;\n          return SceneManager.switchTo(new gs.Object_Layout(\"languageMenuLayout\"));\n        }, 450);\n      };\n    })(this));\n    return jQuery(document.body).append(this.button);\n  };\n\n\n  /**\n  * Prepares all visual game objects for the scene.\n  *\n  * @method prepareVisual\n   */\n\n  Component_WebStartBehavior.prototype.prepareVisual = function() {\n    return Component_WebStartBehavior.__super__.prepareVisual.apply(this, arguments);\n  };\n\n\n  /**\n  * Prepares all data for the scene and loads the necessary graphic and audio resources.\n  *\n  * @method prepareData\n   */\n\n  Component_WebStartBehavior.prototype.prepareData = function() {\n    return Component_WebStartBehavior.__super__.prepareData.apply(this, arguments);\n  };\n\n\n  /**\n  * Update the scene's content. Here you can implement any kind of additional logic\n  * you want.\n  *\n  * @method updateContent\n   */\n\n  Component_WebStartBehavior.prototype.updateContent = function() {\n    return Component_WebStartBehavior.__super__.updateContent.apply(this, arguments);\n  };\n\n  return Component_WebStartBehavior;\n\n})(gs.Component_LayoutSceneBehavior);\n\ngs.Component_WebStartBehavior = Component_WebStartBehavior;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsMEJBQUE7RUFBQTs7O0FBQU07Ozs7QUFDRjs7Ozs7Ozs7Ozs7RUFVYSxvQ0FBQTtJQUNULDZEQUFBLFNBQUE7RUFEUzs7O0FBR2I7Ozs7Ozs7O3VDQU9BLFVBQUEsR0FBWSxTQUFBO0lBQ1IsNERBQUEsU0FBQTtJQUNBLE1BQU0sQ0FBQyxLQUFQLEdBQW1CLElBQUEsS0FBQSxDQUFBO0lBQ25CLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBYixHQUFtQixFQUFFLENBQUMsV0FBVyxDQUFDLGdDQUFmLENBQWdELGdDQUFoRDtJQUNuQixJQUFDLENBQUEsS0FBRCxHQUFTLGVBQWUsQ0FBQyxjQUFoQixDQUErQixnQ0FBL0I7SUFDVCxJQUFDLENBQUEsTUFBRCxHQUFVLE1BQUEsQ0FBTyxhQUFQO0lBQ1YsSUFBQyxDQUFBLE1BQU0sQ0FBQyxHQUFSLENBQVksVUFBWixFQUF3QixVQUF4QjtJQUNBLElBQUMsQ0FBQSxNQUFNLENBQUMsR0FBUixDQUFZLE1BQVosRUFBb0IsS0FBcEI7SUFDQSxJQUFDLENBQUEsTUFBTSxDQUFDLEdBQVIsQ0FBWSxLQUFaLEVBQW1CLEtBQW5CO0lBQ0EsSUFBQyxDQUFBLE1BQU0sQ0FBQyxLQUFSLENBQWMsUUFBUSxDQUFDLEtBQXZCO0lBQ0EsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFSLENBQWUsUUFBUSxDQUFDLE1BQXhCO0lBQ0EsSUFBQyxDQUFBLE1BQU0sQ0FBQyxHQUFSLENBQVksa0JBQVosRUFBZ0MsYUFBaEM7SUFDQSxJQUFDLENBQUEsTUFBTSxDQUFDLEdBQVIsQ0FBWSxTQUFaLEVBQXVCLE1BQXZCO0lBQ0EsSUFBQyxDQUFBLE1BQU0sQ0FBQyxLQUFSLENBQWMsQ0FBQSxTQUFBLEtBQUE7YUFBQSxTQUFDLENBQUQ7UUFDVixLQUFDLENBQUEsS0FBSyxDQUFDLElBQVAsQ0FBQTtRQUNBLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBYixDQUFBO1FBQ0EsS0FBQyxDQUFBLE1BQU0sQ0FBQyxNQUFSLENBQUE7UUFDQSxLQUFDLENBQUEsTUFBRCxHQUFVO2VBQ1YsVUFBQSxDQUFXLFNBQUE7aUJBQ1AsWUFBWSxDQUFDLFFBQWIsQ0FBMEIsSUFBQSxFQUFFLENBQUMsYUFBSCxDQUFpQixvQkFBakIsQ0FBMUI7UUFETyxDQUFYLEVBR0EsR0FIQTtNQUxVO0lBQUEsQ0FBQSxDQUFBLENBQUEsSUFBQSxDQUFkO0lBVUEsSUFBQyxDQUFBLE1BQU8sQ0FBQSxDQUFBLENBQUUsQ0FBQyxnQkFBWCxDQUE0QixZQUE1QixFQUEwQyxDQUFBLFNBQUEsS0FBQTthQUFBLFNBQUMsQ0FBRDtRQUN0QyxLQUFDLENBQUEsS0FBSyxDQUFDLElBQVAsQ0FBQTtRQUNBLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBYixDQUFBO1FBRUEsS0FBQyxDQUFBLE1BQU0sQ0FBQyxNQUFSLENBQUE7UUFDQSxLQUFDLENBQUEsTUFBRCxHQUFVO1FBQ1YsWUFBWSxDQUFDLFFBQWIsQ0FBMEIsSUFBQSxFQUFFLENBQUMsYUFBSCxDQUFpQixvQkFBakIsQ0FBMUI7ZUFDQSxVQUFBLENBQVcsU0FBQTtVQUNQLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBYixDQUFBO1VBQ0EsTUFBTSxDQUFDLEtBQVAsR0FBZTtpQkFDZixZQUFZLENBQUMsUUFBYixDQUEwQixJQUFBLEVBQUUsQ0FBQyxhQUFILENBQWlCLG9CQUFqQixDQUExQjtRQUhPLENBQVgsRUFLQSxHQUxBO01BUHNDO0lBQUEsQ0FBQSxDQUFBLENBQUEsSUFBQSxDQUExQztXQWVBLE1BQUEsQ0FBTyxRQUFRLENBQUMsSUFBaEIsQ0FBcUIsQ0FBQyxNQUF0QixDQUE2QixJQUFDLENBQUEsTUFBOUI7RUF0Q1E7OztBQXdDWjs7Ozs7O3VDQUtBLGFBQUEsR0FBZSxTQUFBO1dBQ1gsK0RBQUEsU0FBQTtFQURXOzs7QUFHZjs7Ozs7O3VDQUtBLFdBQUEsR0FBYSxTQUFBO1dBQ1QsNkRBQUEsU0FBQTtFQURTOzs7QUFHYjs7Ozs7Ozt1Q0FNQSxhQUFBLEdBQWUsU0FBQTtXQUNYLCtEQUFBLFNBQUE7RUFEVzs7OztHQW5Gc0IsRUFBRSxDQUFDOztBQXNGNUMsRUFBRSxDQUFDLDBCQUFILEdBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4jXG4jICAgU2NyaXB0OiBDb21wb25lbnRfV2ViU3RhcnRCZWhhdmlvclxuI1xuIyAgICQkQ09QWVJJR0hUJCRcbiNcbiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuY2xhc3MgQ29tcG9uZW50X1dlYlN0YXJ0QmVoYXZpb3IgZXh0ZW5kcyBncy5Db21wb25lbnRfTGF5b3V0U2NlbmVCZWhhdmlvclxuICAgICMjIypcbiAgICAqIFRoZSB3ZWItc3RhcnQgc2NlbmUgaXMgdXNlZCBpZiB0aGUgZ2FtZSBoYXMgYmVlbiBsb2FkZWQgdmlhIG1vYmlsZSB3ZWJicm93c2VyLiBUaGF0IHdlYi1zdGFydFxuICAgICogc2NlbmUgbGV0cyB0aGUgcGxheWVyIHRhcCBvbiB0aGUgc2NyZWVuIHRvIHN0YXJ0IHRoZSBhY3R1YWwgZ2FtZSB3aGljaCBpcyBuZWNlc3NhcnkgdG8gbWFrZVxuICAgICogYXVkaW8tcGxheWJhY2sgd29ya2luZyBiZWNhdXNlIG9mIGJyb3dzZXItc2VjdXJpdHkuXG4gICAgKlxuICAgICogQG1vZHVsZSBnc1xuICAgICogQGNsYXNzIENvbXBvbmVudF9XZWJTdGFydEJlaGF2aW9yIFxuICAgICogQGV4dGVuZHMgZ3MuQ29tcG9uZW50X0xheW91dFNjZW5lQmVoYXZpb3JcbiAgICAqIEBtZW1iZXJvZiBnc1xuICAgICMjI1xuICAgIGNvbnN0cnVjdG9yOiAtPlxuICAgICAgICBzdXBlclxuICAgIFxuICAgICMjIypcbiAgICAqIEluaXRpYWxpemVzIHRoZSB3ZWItc3RhcnQgc2NlbmUuIEl0IGp1c3QgY3JlYXRlcyBhIGZ1bGwtc2NyZWVuXG4gICAgKiBESVYgbGF5ZXIgd2l0aCBhIHRvdWNoIGV2ZW50LWhhbmRsZXIgdG8gcGxheSBhIHNvdW5kIGlmIHRhcHBlZCBhbmQgdGhlbiBzd2l0Y2hcbiAgICAqIHRvIHRoZSBsYW5ndWFnZS1tZW51IC8gaW50cm8tc2NlbmUgdG8gc3RhcnQgdGhlIGFjdHVhbCBnYW1lLlxuICAgICpcbiAgICAqIEBtZXRob2QgaW5pdGlhbGl6ZVxuICAgICMjIyBcbiAgICBpbml0aWFsaXplOiAtPlxuICAgICAgICBzdXBlclxuICAgICAgICB3aW5kb3cubXVzaWMgPSBuZXcgQXVkaW8oKVxuICAgICAgICB3aW5kb3cubXVzaWMuc3JjID0gZ3MuQXBwbGljYXRpb24uZ2V0UGxhdGZvcm1TcGVjaWZpY0F1ZGlvRmlsZVBhdGgoXCJBdWRpby9Tb3VuZHMvY2hvaWNlX2NvbmZpcm1fMDFcIilcbiAgICAgICAgQHNvdW5kID0gUmVzb3VyY2VNYW5hZ2VyLmdldEF1ZGlvQnVmZmVyKFwiQXVkaW8vU291bmRzL2Nob2ljZV9jb25maXJtXzAxXCIpXG4gICAgICAgIEBidXR0b24gPSBqUXVlcnkoXCI8ZGl2PjwvZGl2PlwiKVxuICAgICAgICBAYnV0dG9uLmNzcyhcInBvc2l0aW9uXCIsIFwiYWJzb2x1dGVcIilcbiAgICAgICAgQGJ1dHRvbi5jc3MoXCJsZWZ0XCIsIFwiMHB4XCIpXG4gICAgICAgIEBidXR0b24uY3NzKFwidG9wXCIsIFwiMHB4XCIpXG4gICAgICAgIEBidXR0b24ud2lkdGgoR3JhcGhpY3Mud2lkdGgpXG4gICAgICAgIEBidXR0b24uaGVpZ2h0KEdyYXBoaWNzLmhlaWdodClcbiAgICAgICAgQGJ1dHRvbi5jc3MoXCJiYWNrZ3JvdW5kLWNvbG9yXCIsIFwidHJhbnNwYXJlbnRcIilcbiAgICAgICAgQGJ1dHRvbi5jc3MoXCJ6LW9yZGVyXCIsIDk5OTk5OSlcbiAgICAgICAgQGJ1dHRvbi5jbGljayAoZSkgPT5cbiAgICAgICAgICAgIEBzb3VuZC5wbGF5KCkgICAgXG4gICAgICAgICAgICB3aW5kb3cubXVzaWMucGxheSgpXG4gICAgICAgICAgICBAYnV0dG9uLnJlbW92ZSgpXG4gICAgICAgICAgICBAYnV0dG9uID0gbnVsbFxuICAgICAgICAgICAgc2V0VGltZW91dCAtPlxuICAgICAgICAgICAgICAgIFNjZW5lTWFuYWdlci5zd2l0Y2hUbyhuZXcgZ3MuT2JqZWN0X0xheW91dChcImxhbmd1YWdlTWVudUxheW91dFwiKSlcbiAgICAgICAgICAgICxcbiAgICAgICAgICAgIDQ1MFxuICAgICAgICAgICAgXG4gICAgICAgIEBidXR0b25bMF0uYWRkRXZlbnRMaXN0ZW5lciBcInRvdWNoc3RhcnRcIiwgKGUpID0+XG4gICAgICAgICAgICBAc291bmQucGxheSgpICAgIFxuICAgICAgICAgICAgd2luZG93Lm11c2ljLnBsYXkoKVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAYnV0dG9uLnJlbW92ZSgpXG4gICAgICAgICAgICBAYnV0dG9uID0gbnVsbFxuICAgICAgICAgICAgU2NlbmVNYW5hZ2VyLnN3aXRjaFRvKG5ldyBncy5PYmplY3RfTGF5b3V0KFwibGFuZ3VhZ2VNZW51TGF5b3V0XCIpKVxuICAgICAgICAgICAgc2V0VGltZW91dCAtPlxuICAgICAgICAgICAgICAgIHdpbmRvdy5tdXNpYy5wYXVzZSgpXG4gICAgICAgICAgICAgICAgd2luZG93Lm11c2ljID0gbnVsbFxuICAgICAgICAgICAgICAgIFNjZW5lTWFuYWdlci5zd2l0Y2hUbyhuZXcgZ3MuT2JqZWN0X0xheW91dChcImxhbmd1YWdlTWVudUxheW91dFwiKSlcbiAgICAgICAgICAgICxcbiAgICAgICAgICAgIDQ1MFxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIFxuICAgICAgICBqUXVlcnkoZG9jdW1lbnQuYm9keSkuYXBwZW5kKEBidXR0b24pXG4gICAgICAgIFxuICAgICMjIypcbiAgICAqIFByZXBhcmVzIGFsbCB2aXN1YWwgZ2FtZSBvYmplY3RzIGZvciB0aGUgc2NlbmUuXG4gICAgKlxuICAgICogQG1ldGhvZCBwcmVwYXJlVmlzdWFsXG4gICAgIyMjIFxuICAgIHByZXBhcmVWaXN1YWw6IC0+XG4gICAgICAgIHN1cGVyXG4gICAgICBcbiAgICAjIyMqXG4gICAgKiBQcmVwYXJlcyBhbGwgZGF0YSBmb3IgdGhlIHNjZW5lIGFuZCBsb2FkcyB0aGUgbmVjZXNzYXJ5IGdyYXBoaWMgYW5kIGF1ZGlvIHJlc291cmNlcy5cbiAgICAqXG4gICAgKiBAbWV0aG9kIHByZXBhcmVEYXRhXG4gICAgIyMjICAgXG4gICAgcHJlcGFyZURhdGE6IC0+XG4gICAgICAgIHN1cGVyXG4gICAgICAgIFxuICAgICMjIypcbiAgICAqIFVwZGF0ZSB0aGUgc2NlbmUncyBjb250ZW50LiBIZXJlIHlvdSBjYW4gaW1wbGVtZW50IGFueSBraW5kIG9mIGFkZGl0aW9uYWwgbG9naWNcbiAgICAqIHlvdSB3YW50LlxuICAgICpcbiAgICAqIEBtZXRob2QgdXBkYXRlQ29udGVudFxuICAgICMjIyBcbiAgICB1cGRhdGVDb250ZW50OiAtPlxuICAgICAgICBzdXBlclxuICAgICAgICBcbmdzLkNvbXBvbmVudF9XZWJTdGFydEJlaGF2aW9yID0gQ29tcG9uZW50X1dlYlN0YXJ0QmVoYXZpb3IiXX0=\n//# sourceURL=Component_WebStartBehavior_47.js"
    },
    "summary": [
        "name",
        "type"
    ]
}

Commits for Nextrek/s2s/data/871555D049A31243DD487BE58F07F78441AB.json

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