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": "37BD01A5KBA1BA4238S876AE816A837C1419",
    "isLoaded": true,
    "lastModificationTime": 0,
    "items": {
        "name": "Object_Scene",
        "type": "game_script",
        "order": 16,
        "content": "# ===================================================================\n#\n#   Script: Object_Scene\n#\n#   $$COPYRIGHT$$\n#\n# ===================================================================\nclass Object_Scene extends gs.Object_Base\n  #  @objectCodecBlackList = [\"parent\", \"subObjects\", \"preparing\", \"behavior\", \"interpreter\", \"events\", \"sceneData\",\n  #  \"characterContainer\", \"pictureContainer\", \"textContainer\", \"videoContainer\", \"messageAreas\", \"hotspotContainer\", \"commonEventContainer\",\n  #  \"pictures\", \"texts\", \"videos\", \"messageAreas\", \"hotspots\", \"commonEvents\", \"layout\", \"layoutNVL\"]\n    \n    @accessors \"visible\", \n        set: (v) -> \n            if v != @visible_\n                @visible_ = v\n                @needsUpdate = yes\n                @fullRefresh()\n            \n        get: -> @visible_ and (!@parent or @parent.visible)\n    \n    ###*\n    * A scene object manages a whole visual novel scene with backgrounds, characters,\n    * messages, etc.\n    *\n    * @module vn\n    * @class Object_Scene\n    * @extends gs.Object_Base\n    * @memberof vn\n    * @constructor\n    ###    \n    constructor: ->\n        super()\n        \n        ###*\n        * Indicates that the scene is still in prepare-state and not ready yet.\n        * @property preparing\n        * @type boolean\n        ###\n        @preparing = yes\n        \n        ###*\n        * The behavior-component for the VN scene specific behavior.\n        * @property behavior\n        * @type gs.Component_GameSceneBehavior\n        ###\n        @behavior = new vn.Component_GameSceneBehavior()\n        \n        ###*\n        * An interpreter to execute the commands of scene.\n        * @property interpreter\n        * @type gs.Component_CommandInterpreter\n        ###\n        @interpreter = new gs.Component_CommandInterpreter()\n        \n        ###*\n        * An event-emitter to emit events.\n        * @property events\n        * @type gs.Component_EventEmitter\n        ###\n        @events = new gs.Component_EventEmitter()\n        \n        ###*\n        * Contains all background objects of the scene.\n        * @property backgroundContainer\n        * @type gs.Object_Container\n        ###\n        @backgroundContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL)\n        \n        ###*\n        * Contains all character objects of the scene.\n        * @property characterContainer\n        * @type gs.Object_Container\n        ###\n        @characterContainer = new gs.Object_Container(gs.ContainerDisposeBehavior.REMOVE)\n        \n        ###*\n        * Contains all picture objects of the scene.\n        * @property pictureContainer\n        * @type gs.Object_Container\n        ###\n        @pictureContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL)\n        \n        ###*\n        * Contains all video objects of the scene.\n        * @property videoContainer\n        * @type gs.Object_Container\n        ###\n        @videoContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL)\n        \n        ###*\n        * Contains all text objects of the scene.\n        * @property textContainer\n        * @type gs.Object_Container\n        ###\n        @textContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL)\n        \n        ###*\n        * Contains all hotspot objects of the scene.\n        * @property hotspotContainer\n        * @type gs.Object_Container\n        ###\n        @hotspotContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL)\n        \n        ###*\n        * Contains all common events which are running parallel/auto to the scene.\n        * @property commonEventContainer\n        * @type gs.Object_Container\n        ###\n        @commonEventContainer = new gs.Object_Container(gs.ContainerDisposeBehavior.NULL)\n        \n        ###*\n        * Contains all viewports which are used to create multi-layered screen effects.\n        * @property viewportContainer\n        * @type gs.Object_Container\n        ###\n        @viewportContainer = new gs.Object_Container(gs.ContainerDisposeBehavior.REMOVE)\n        \n        ###*\n        * Contains all interval timers.\n        * @property timerContainer\n        * @type gs.Object_Container\n        ###\n        @timerContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL)\n        \n        ###*\n        * Contains all message areas of the scene.\n        * @property messageAreaContainer\n        * @type gs.Object_Container\n        ###\n        @messageAreaContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL)\n        \n        @characterContainer.visible = yes\n        \n        ###*\n        * All picture objects as array. That is the same like accessing the <b>subObjects</b> of the\n        * container object.\n        * @property pictures\n        * @type gs.Object_Picture[]\n        * @readOnly\n        ###\n        @pictures = @pictureContainer.subObjects\n        \n        ###*\n        * All video objects as array. That is the same like accessing the <b>subObjects</b> of the\n        * container object.\n        * @property videos\n        * @type gs.Object_Video[]\n        * @readOnly\n        ###\n        @videos = @videoContainer.subObjects\n        \n        ###*\n        * All text objects as array. That is the same like accessing the <b>subObjects</b> of the\n        * container object.\n        * @property texts\n        * @type gs.Object_Text[]\n        * @readOnly\n        ###\n        @texts = @textContainer.subObjects\n        \n        ###*\n        * All character objects as array. That is the same like accessing the <b>subObjects</b> of the\n        * container object.\n        * @property characters\n        * @type gs.Object_Character[]\n        * @readOnly\n        ###\n        @characters = @characterContainer.subObjects\n        \n        ###*\n        * All backgrounds as array. That is the same like accessing the <b>subObjects</b> of the\n        * container object.\n        * @property backgrounds\n        * @type gs.Object_Background[]\n        * @readOnly\n        ###\n        @backgrounds = @backgroundContainer.subObjects\n        \n        ###*\n        * All hotspot objects as array. That is the same like accessing the <b>subObjects</b> of the\n        * container object.\n        * @property hotspots\n        * @type gs.Object_Hotspot[]\n        * @readOnly\n        ###\n        @hotspots = @hotspotContainer.subObjects\n        \n        ###*\n        * All interval timer objects as array. That is the same like accessing the <b>subObjects</b> of the\n        * container object.\n        * @property timers\n        * @type gs.Object_IntervalTimer[]\n        * @readOnly\n        ###\n        @timers = @timerContainer.subObjects\n        \n        ###*\n        * All message areas as array.\n        * @property messageAreas\n        * @type vn.MessageArea[]\n        * @readOnly\n        ###\n        @messageAreas = @messageAreaContainer.subObjects\n    \n        ###*\n        * The current list of choices which should be displayed\n        * on the screen. New choices are usually added using\n        * Add Choice command in Scene Editor before all choices are\n        * displayed via Show Choices command.\n        * @property choices\n        * @type vn.Choice[]\n        ###\n        @choices = []\n        \n        ###*\n        * A timer object used for choices with time-limit.\n        * @property choiceTimer\n        * @type gs.Object_Timer\n        ###\n        @choiceTimer = new gs.Object_Timer()\n        \n        ###*\n        * Indicates if the UI layout is visible.\n        * @property visible\n        * @type boolean\n        ###\n        @visible = yes\n        \n        ###*\n        * @property visible_\n        * @type boolean\n        * @protected\n        ###\n        @visible_ = yes\n        \n        ###*\n        * The game settings.\n        * @property settings\n        * @type Object\n        ###\n        @settings = GameManager.settings\n        \n        ###*\n        * Temporary settings like skip, etc.\n        * @property tempSettings\n        * @type Object\n        ###\n        @tempSettings = GameManager.tempSettings\n        \n        ###*\n        * Contains all data necessary to construct the scene.\n        * @property sceneData\n        * @type Object\n        ###\n        @sceneData = GameManager.sceneData\n        \n        @addObject(@backgroundContainer)\n        @addObject(@characterContainer)\n        @addObject(@pictureContainer)\n        @addObject(@textContainer)\n        @addObject(@videoContainer)\n        @addObject(@hotspotContainer)\n        @addObject(@viewportContainer)\n        @addObject(@commonEventContainer)\n        @addObject(@timerContainer)\n        @addObject(@choiceTimer)\n        @addObject(@messageAreaContainer)\n        \n        \n        @addComponent(new gs.Component_InputHandler())\n        @addComponent(@behavior)\n        @addComponent(@interpreter)\n        \n        \nvn.Object_Scene = Object_Scene",
        "parentId": "A05E7029K45DBA459BSADF4EEC07A526241A",
        "folder": false,
        "compiledContent": "var Object_Scene,\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\nObject_Scene = (function(superClass) {\n  extend(Object_Scene, superClass);\n\n  Object_Scene.accessors(\"visible\", {\n    set: function(v) {\n      if (v !== this.visible_) {\n        this.visible_ = v;\n        this.needsUpdate = true;\n        return this.fullRefresh();\n      }\n    },\n    get: function() {\n      return this.visible_ && (!this.parent || this.parent.visible);\n    }\n  });\n\n\n  /**\n  * A scene object manages a whole visual novel scene with backgrounds, characters,\n  * messages, etc.\n  *\n  * @module vn\n  * @class Object_Scene\n  * @extends gs.Object_Base\n  * @memberof vn\n  * @constructor\n   */\n\n  function Object_Scene() {\n    Object_Scene.__super__.constructor.call(this);\n\n    /**\n    * Indicates that the scene is still in prepare-state and not ready yet.\n    * @property preparing\n    * @type boolean\n     */\n    this.preparing = true;\n\n    /**\n    * The behavior-component for the VN scene specific behavior.\n    * @property behavior\n    * @type gs.Component_GameSceneBehavior\n     */\n    this.behavior = new vn.Component_GameSceneBehavior();\n\n    /**\n    * An interpreter to execute the commands of scene.\n    * @property interpreter\n    * @type gs.Component_CommandInterpreter\n     */\n    this.interpreter = new gs.Component_CommandInterpreter();\n\n    /**\n    * An event-emitter to emit events.\n    * @property events\n    * @type gs.Component_EventEmitter\n     */\n    this.events = new gs.Component_EventEmitter();\n\n    /**\n    * Contains all background objects of the scene.\n    * @property backgroundContainer\n    * @type gs.Object_Container\n     */\n    this.backgroundContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL);\n\n    /**\n    * Contains all character objects of the scene.\n    * @property characterContainer\n    * @type gs.Object_Container\n     */\n    this.characterContainer = new gs.Object_Container(gs.ContainerDisposeBehavior.REMOVE);\n\n    /**\n    * Contains all picture objects of the scene.\n    * @property pictureContainer\n    * @type gs.Object_Container\n     */\n    this.pictureContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL);\n\n    /**\n    * Contains all video objects of the scene.\n    * @property videoContainer\n    * @type gs.Object_Container\n     */\n    this.videoContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL);\n\n    /**\n    * Contains all text objects of the scene.\n    * @property textContainer\n    * @type gs.Object_Container\n     */\n    this.textContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL);\n\n    /**\n    * Contains all hotspot objects of the scene.\n    * @property hotspotContainer\n    * @type gs.Object_Container\n     */\n    this.hotspotContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL);\n\n    /**\n    * Contains all common events which are running parallel/auto to the scene.\n    * @property commonEventContainer\n    * @type gs.Object_Container\n     */\n    this.commonEventContainer = new gs.Object_Container(gs.ContainerDisposeBehavior.NULL);\n\n    /**\n    * Contains all viewports which are used to create multi-layered screen effects.\n    * @property viewportContainer\n    * @type gs.Object_Container\n     */\n    this.viewportContainer = new gs.Object_Container(gs.ContainerDisposeBehavior.REMOVE);\n\n    /**\n    * Contains all interval timers.\n    * @property timerContainer\n    * @type gs.Object_Container\n     */\n    this.timerContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL);\n\n    /**\n    * Contains all message areas of the scene.\n    * @property messageAreaContainer\n    * @type gs.Object_Container\n     */\n    this.messageAreaContainer = new gs.Object_DomainContainer(gs.ContainerDisposeBehavior.NULL);\n    this.characterContainer.visible = true;\n\n    /**\n    * All picture objects as array. That is the same like accessing the <b>subObjects</b> of the\n    * container object.\n    * @property pictures\n    * @type gs.Object_Picture[]\n    * @readOnly\n     */\n    this.pictures = this.pictureContainer.subObjects;\n\n    /**\n    * All video objects as array. That is the same like accessing the <b>subObjects</b> of the\n    * container object.\n    * @property videos\n    * @type gs.Object_Video[]\n    * @readOnly\n     */\n    this.videos = this.videoContainer.subObjects;\n\n    /**\n    * All text objects as array. That is the same like accessing the <b>subObjects</b> of the\n    * container object.\n    * @property texts\n    * @type gs.Object_Text[]\n    * @readOnly\n     */\n    this.texts = this.textContainer.subObjects;\n\n    /**\n    * All character objects as array. That is the same like accessing the <b>subObjects</b> of the\n    * container object.\n    * @property characters\n    * @type gs.Object_Character[]\n    * @readOnly\n     */\n    this.characters = this.characterContainer.subObjects;\n\n    /**\n    * All backgrounds as array. That is the same like accessing the <b>subObjects</b> of the\n    * container object.\n    * @property backgrounds\n    * @type gs.Object_Background[]\n    * @readOnly\n     */\n    this.backgrounds = this.backgroundContainer.subObjects;\n\n    /**\n    * All hotspot objects as array. That is the same like accessing the <b>subObjects</b> of the\n    * container object.\n    * @property hotspots\n    * @type gs.Object_Hotspot[]\n    * @readOnly\n     */\n    this.hotspots = this.hotspotContainer.subObjects;\n\n    /**\n    * All interval timer objects as array. That is the same like accessing the <b>subObjects</b> of the\n    * container object.\n    * @property timers\n    * @type gs.Object_IntervalTimer[]\n    * @readOnly\n     */\n    this.timers = this.timerContainer.subObjects;\n\n    /**\n    * All message areas as array.\n    * @property messageAreas\n    * @type vn.MessageArea[]\n    * @readOnly\n     */\n    this.messageAreas = this.messageAreaContainer.subObjects;\n\n    /**\n    * The current list of choices which should be displayed\n    * on the screen. New choices are usually added using\n    * Add Choice command in Scene Editor before all choices are\n    * displayed via Show Choices command.\n    * @property choices\n    * @type vn.Choice[]\n     */\n    this.choices = [];\n\n    /**\n    * A timer object used for choices with time-limit.\n    * @property choiceTimer\n    * @type gs.Object_Timer\n     */\n    this.choiceTimer = new gs.Object_Timer();\n\n    /**\n    * Indicates if the UI layout is visible.\n    * @property visible\n    * @type boolean\n     */\n    this.visible = true;\n\n    /**\n    * @property visible_\n    * @type boolean\n    * @protected\n     */\n    this.visible_ = true;\n\n    /**\n    * The game settings.\n    * @property settings\n    * @type Object\n     */\n    this.settings = GameManager.settings;\n\n    /**\n    * Temporary settings like skip, etc.\n    * @property tempSettings\n    * @type Object\n     */\n    this.tempSettings = GameManager.tempSettings;\n\n    /**\n    * Contains all data necessary to construct the scene.\n    * @property sceneData\n    * @type Object\n     */\n    this.sceneData = GameManager.sceneData;\n    this.addObject(this.backgroundContainer);\n    this.addObject(this.characterContainer);\n    this.addObject(this.pictureContainer);\n    this.addObject(this.textContainer);\n    this.addObject(this.videoContainer);\n    this.addObject(this.hotspotContainer);\n    this.addObject(this.viewportContainer);\n    this.addObject(this.commonEventContainer);\n    this.addObject(this.timerContainer);\n    this.addObject(this.choiceTimer);\n    this.addObject(this.messageAreaContainer);\n    this.addComponent(new gs.Component_InputHandler());\n    this.addComponent(this.behavior);\n    this.addComponent(this.interpreter);\n  }\n\n  return Object_Scene;\n\n})(gs.Object_Base);\n\nvn.Object_Scene = Object_Scene;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsWUFBQTtFQUFBOzs7QUFBTTs7O0VBS0YsWUFBQyxDQUFBLFNBQUQsQ0FBVyxTQUFYLEVBQ0k7SUFBQSxHQUFBLEVBQUssU0FBQyxDQUFEO01BQ0QsSUFBRyxDQUFBLEtBQUssSUFBQyxDQUFBLFFBQVQ7UUFDSSxJQUFDLENBQUEsUUFBRCxHQUFZO1FBQ1osSUFBQyxDQUFBLFdBQUQsR0FBZTtlQUNmLElBQUMsQ0FBQSxXQUFELENBQUEsRUFISjs7SUFEQyxDQUFMO0lBTUEsR0FBQSxFQUFLLFNBQUE7YUFBRyxJQUFDLENBQUEsUUFBRCxJQUFjLENBQUMsQ0FBQyxJQUFDLENBQUEsTUFBRixJQUFZLElBQUMsQ0FBQSxNQUFNLENBQUMsT0FBckI7SUFBakIsQ0FOTDtHQURKOzs7QUFTQTs7Ozs7Ozs7Ozs7RUFVYSxzQkFBQTtJQUNULDRDQUFBOztBQUVBOzs7OztJQUtBLElBQUMsQ0FBQSxTQUFELEdBQWE7O0FBRWI7Ozs7O0lBS0EsSUFBQyxDQUFBLFFBQUQsR0FBZ0IsSUFBQSxFQUFFLENBQUMsMkJBQUgsQ0FBQTs7QUFFaEI7Ozs7O0lBS0EsSUFBQyxDQUFBLFdBQUQsR0FBbUIsSUFBQSxFQUFFLENBQUMsNEJBQUgsQ0FBQTs7QUFFbkI7Ozs7O0lBS0EsSUFBQyxDQUFBLE1BQUQsR0FBYyxJQUFBLEVBQUUsQ0FBQyxzQkFBSCxDQUFBOztBQUVkOzs7OztJQUtBLElBQUMsQ0FBQSxtQkFBRCxHQUEyQixJQUFBLEVBQUUsQ0FBQyxzQkFBSCxDQUEwQixFQUFFLENBQUMsd0JBQXdCLENBQUMsSUFBdEQ7O0FBRTNCOzs7OztJQUtBLElBQUMsQ0FBQSxrQkFBRCxHQUEwQixJQUFBLEVBQUUsQ0FBQyxnQkFBSCxDQUFvQixFQUFFLENBQUMsd0JBQXdCLENBQUMsTUFBaEQ7O0FBRTFCOzs7OztJQUtBLElBQUMsQ0FBQSxnQkFBRCxHQUF3QixJQUFBLEVB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QkFBWjtJQUNBLElBQUMsQ0FBQSxTQUFELENBQVcsSUFBQyxDQUFBLG9CQUFaO0lBQ0EsSUFBQyxDQUFBLFNBQUQsQ0FBVyxJQUFDLENBQUEsY0FBWjtJQUNBLElBQUMsQ0FBQSxTQUFELENBQVcsSUFBQyxDQUFBLFdBQVo7SUFDQSxJQUFDLENBQUEsU0FBRCxDQUFXLElBQUMsQ0FBQSxvQkFBWjtJQUdBLElBQUMsQ0FBQSxZQUFELENBQWtCLElBQUEsRUFBRSxDQUFDLHNCQUFILENBQUEsQ0FBbEI7SUFDQSxJQUFDLENBQUEsWUFBRCxDQUFjLElBQUMsQ0FBQSxRQUFmO0lBQ0EsSUFBQyxDQUFBLFlBQUQsQ0FBYyxJQUFDLENBQUEsV0FBZjtFQWpQUzs7OztHQXhCVSxFQUFFLENBQUM7O0FBNFE5QixFQUFFLENBQUMsWUFBSCxHQUFrQiIsInNvdXJjZXNDb250ZW50IjpbIiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuI1xuIyAgIFNjcmlwdDogT2JqZWN0X1NjZW5lXG4jXG4jICAgJCRDT1BZUklHSFQkJFxuI1xuIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5jbGFzcyBPYmplY3RfU2NlbmUgZXh0ZW5kcyBncy5PYmplY3RfQmFzZVxuICAjICBAb2JqZWN0Q29kZWNCbGFja0xpc3QgPSBbXCJwYXJlbnRcIiwgXCJzdWJPYmplY3RzXCIsIFwicHJlcGFyaW5nXCIsIFwiYmVoYXZpb3JcIiwgXCJpbnRlcnByZXRlclwiLCBcImV2ZW50c1wiLCBcInNjZW5lRGF0YVwiLFxuICAjICBcImNoYXJhY3RlckNvbnRhaW5lclwiLCBcInBpY3R1cmVDb250YWluZXJcIiwgXCJ0ZXh0Q29udGFpbmVyXCIsIFwidmlkZW9Db250YWluZXJcIiwgXCJtZXNzYWdlQXJlYXNcIiwgXCJob3RzcG90Q29udGFpbmVyXCIsIFwiY29tbW9uRXZlbnRDb250YWluZXJcIixcbiAgIyAgXCJwaWN0dXJlc1wiLCBcInRleHRzXCIsIFwidmlkZW9zXCIsIFwibWVzc2FnZUFyZWFzXCIsIFwiaG90c3BvdHNcIiwgXCJjb21tb25FdmVudHNcIiwgXCJsYXlvdXRcIiwgXCJsYXlvdXROVkxcIl1cbiAgICBcbiAgICBAYWNjZXNzb3JzIFwidmlzaWJsZVwiLCBcbiAgICAgICAgc2V0OiAodikgLT4gXG4gICAgICAgICAgICBpZiB2ICE9IEB2aXNpYmxlX1xuICAgICAgICAgICAgICAgIEB2aXNpYmxlXyA9IHZcbiAgICAgICAgICAgICAgICBAbmVlZHNVcGRhdGUgPSB5ZXNcbiAgICAgICAgICAgICAgICBAZnVsbFJlZnJlc2goKVxuICAgICAgICAgICAgXG4gICAgICAgIGdldDogLT4gQHZpc2libGVfIGFuZCAoIUBwYXJlbnQgb3IgQHBhcmVudC52aXNpYmxlKVxuICAgIFxuICAgICMjIypcbiAgICAqIEEgc2NlbmUgb2JqZWN0IG1hbmFnZXMgYSB3aG9sZSB2aXN1YWwgbm92ZWwgc2NlbmUgd2l0aCBiYWNrZ3JvdW5kcywgY2hhcmFjdGVycyxcbiAgICAqIG1lc3NhZ2VzLCBldGMuXG4gICAgKlxuICAgICogQG1vZHVsZSB2blxuICAgICogQGNsYXNzIE9iamVjdF9TY2VuZVxuICAgICogQGV4dGVuZHMgZ3MuT2JqZWN0X0Jhc2VcbiAgICAqIEBtZW1iZXJvZiB2blxuICAgICogQGNvbnN0cnVjdG9yXG4gICAgIyMjICAgIFxuICAgIGNvbnN0cnVjdG9yOiAtPlxuICAgICAgICBzdXBlcigpXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogSW5kaWNhdGVzIHRoYXQgdGhlIHNjZW5lIGlzIHN0aWxsIGluIHByZXBhcmUtc3RhdGUgYW5kIG5vdCByZWFkeSB5ZXQuXG4gICAgICAgICogQHByb3BlcnR5IHByZXBhcmluZ1xuICAgICAgICAqIEB0eXBlIGJvb2xlYW5cbiAgICAgICAgIyMjXG4gICAgICAgIEBwcmVwYXJpbmcgPSB5ZXNcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBUaGUgYmVoYXZpb3ItY29tcG9uZW50IGZvciB0aGUgVk4gc2NlbmUgc3BlY2lmaWMgYmVoYXZpb3IuXG4gICAgICAgICogQHByb3BlcnR5IGJlaGF2aW9yXG4gICAgICAgICogQHR5cGUgZ3MuQ29tcG9uZW50X0dhbWVTY2VuZUJlaGF2aW9yXG4gICAgICAgICMjI1xuICAgICAgICBAYmVoYXZpb3IgPSBuZXcgdm4uQ29tcG9uZW50X0dhbWVTY2VuZUJlaGF2aW9yKClcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBBbiBpbnRlcnByZXRlciB0byBleGVjdXRlIHRoZSBjb21tYW5kcyBvZiBzY2VuZS5cbiAgICAgICAgKiBAcHJvcGVydHkgaW50ZXJwcmV0ZXJcbiAgICAgICAgKiBAdHlwZSBncy5Db21wb25lbnRfQ29tbWFuZEludGVycHJldGVyXG4gICAgICAgICMjI1xuICAgICAgICBAaW50ZXJwcmV0ZXIgPSBuZXcgZ3MuQ29tcG9uZW50X0NvbW1hbmRJbnRlcnByZXRlcigpXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogQW4gZXZlbnQtZW1pdHRlciB0byBlbWl0IGV2ZW50cy5cbiAgICAgICAgKiBAcHJvcGVydHkgZXZlbnRzXG4gICAgICAgICogQHR5cGUgZ3MuQ29tcG9uZW50X0V2ZW50RW1pdHRlclxuICAgICAgICAjIyNcbiAgICAgICAgQGV2ZW50cyA9IG5ldyBncy5Db21wb25lbnRfRXZlbnRFbWl0dGVyKClcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBDb250YWlucyBhbGwgYmFja2dyb3VuZCBvYmplY3RzIG9mIHRoZSBzY2VuZS5cbiAgICAgICAgKiBAcHJvcGVydHkgYmFja2dyb3VuZENvbnRhaW5lclxuICAgICAgICAqIEB0eXBlIGdzLk9iamVjdF9Db250YWluZXJcbiAgICAgICAgIyMjXG4gICAgICAgIEBiYWNrZ3JvdW5kQ29udGFpbmVyID0gbmV3IGdzLk9iamVjdF9Eb21haW5Db250YWluZXIoZ3MuQ29udGFpbmVyRGlzcG9zZUJlaGF2aW9yLk5VTEwpXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogQ29udGFpbnMgYWxsIGNoYXJhY3RlciBvYmplY3RzIG9mIHRoZSBzY2VuZS5cbiAgICAgICAgKiBAcHJvcGVydHkgY2hhcmFjdGVyQ29udGFpbmVyXG4gICAgICAgICogQHR5cGUgZ3MuT2JqZWN0X0NvbnRhaW5lclxuICAgICAgICAjIyNcbiAgICAgICAgQGNoYXJhY3RlckNvbnRhaW5lciA9IG5ldyBncy5PYmplY3RfQ29udGFpbmVyKGdzLkNvbnRhaW5lckRpc3Bvc2VCZWhhdmlvci5SRU1PVkUpXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogQ29udGFpbnMgYWxsIHBpY3R1cmUgb2JqZWN0cyBvZiB0aGUgc2NlbmUuXG4gICAgICAgICogQHByb3BlcnR5IHBpY3R1cmVDb250YWluZXJcbiAgICAgICAgKiBAdHlwZSBncy5PYmplY3RfQ29udGFpbmVyXG4gICAgICAgICMjI1xuICAgICAgICBAcGljdHVyZUNvbnRhaW5lciA9IG5ldyBncy5PYmplY3RfRG9tYWluQ29udGFpbmVyKGdzLkNvbnRhaW5lckRpc3Bvc2VCZWhhdmlvci5OVUxMKVxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIENvbnRhaW5zIGFsbCB2aWRlbyBvYmplY3RzIG9mIHRoZSBzY2VuZS5cbiAgICAgICAgKiBAcHJvcGVydHkgdmlkZW9Db250YWluZXJcbiAgICAgICAgKiBAdHlwZSBncy5PYmplY3RfQ29udGFpbmVyXG4gICAgICAgICMjI1xuICAgICAgICBAdmlkZW9Db250YWluZXIgPSBuZXcgZ3MuT2JqZWN0X0RvbWFpbkNvbnRhaW5lcihncy5Db250YWluZXJEaXNwb3NlQmVoYXZpb3IuTlVMTClcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBDb250YWlucyBhbGwgdGV4dCBvYmplY3RzIG9mIHRoZSBzY2VuZS5cbiAgICAgICAgKiBAcHJvcGVydHkgdGV4dENvbnRhaW5lclxuICAgICAgICAqIEB0eXBlIGdzLk9iamVjdF9Db250YWluZXJcbiAgICAgICAgIyMjXG4gICAgICAgIEB0ZXh0Q29udGFpbmVyID0gbmV3IGdzLk9iamVjdF9Eb21haW5Db250YWluZXIoZ3MuQ29udGFpbmVyRGlzcG9zZUJlaGF2aW9yLk5VTEwpXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogQ29udGFpbnMgYWxsIGhvdHNwb3Qgb2JqZWN0cyBvZiB0aGUgc2NlbmUuXG4gICAgICAgICogQHByb3BlcnR5IGhvdHNwb3RDb250YWluZXJcbiAgICAgICAgKiBAdHlwZSBncy5PYmplY3RfQ29udGFpbmVyXG4gICAgICAgICMjI1xuICAgICAgICBAaG90c3BvdENvbnRhaW5lciA9IG5ldyBncy5PYmplY3RfRG9tYWluQ29udGFpbmVyKGdzLkNvbnRhaW5lckRpc3Bvc2VCZWhhdmlvci5OVUxMKVxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIENvbnRhaW5zIGFsbCBjb21tb24gZXZlbnRzIHdoaWNoIGFyZSBydW5uaW5nIHBhcmFsbGVsL2F1dG8gdG8gdGhlIHNjZW5lLlxuICAgICAgICAqIEBwcm9wZXJ0eSBjb21tb25FdmVudENvbnRhaW5lclxuICAgICAgICAqIEB0eXBlIGdzLk9iamVjdF9Db250YWluZXJcbiAgICAgICAgIyMjXG4gICAgICAgIEBjb21tb25FdmVudENvbnRhaW5lciA9IG5ldyBncy5PYmplY3RfQ29udGFpbmVyKGdzLkNvbnRhaW5lckRpc3Bvc2VCZWhhdmlvci5OVUxMKVxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIENvbnRhaW5zIGFsbCB2aWV3cG9ydHMgd2hpY2ggYXJlIHVzZWQgdG8gY3JlYXRlIG11bHRpLWxheWVyZWQgc2NyZWVuIGVmZmVjdHMuXG4gICAgICAgICogQHByb3BlcnR5IHZpZXdwb3J0Q29udGFpbmVyXG4gICAgICAgICogQHR5cGUgZ3MuT2JqZWN0X0NvbnRhaW5lclxuICAgICAgICAjIyNcbiAgICAgICAgQHZpZXdwb3J0Q29udGFpbmVyID0gbmV3IGdzLk9iamVjdF9Db250YWluZXIoZ3MuQ29udGFpbmVyRGlzcG9zZUJlaGF2aW9yLlJFTU9WRSlcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBDb250YWlucyBhbGwgaW50ZXJ2YWwgdGltZXJzLlxuICAgICAgICAqIEBwcm9wZXJ0eSB0aW1lckNvbnRhaW5lclxuICAgICAgICAqIEB0eXBlIGdzLk9iamVjdF9Db250YWluZXJcbiAgICAgICAgIyMjXG4gICAgICAgIEB0aW1lckNvbnRhaW5lciA9IG5ldyBncy5PYmplY3RfRG9tYWluQ29udGFpbmVyKGdzLkNvbnRhaW5lckRpc3Bvc2VCZWhhdmlvci5OVUxMKVxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIENvbnRhaW5zIGFsbCBtZXNzYWdlIGFyZWFzIG9mIHRoZSBzY2VuZS5cbiAgICAgICAgKiBAcHJvcGVydHkgbWVzc2FnZUFyZWFDb250YWluZXJcbiAgICAgICAgKiBAdHlwZSBncy5PYmplY3RfQ29udGFpbmVyXG4gICAgICAgICMjI1xuICAgICAgICBAbWVzc2FnZUFyZWFDb250YWluZXIgPSBuZXcgZ3MuT2JqZWN0X0RvbWFpbkNvbnRhaW5lcihncy5Db250YWluZXJEaXNwb3NlQmVoYXZpb3IuTlVMTClcbiAgICAgICAgXG4gICAgICAgIEBjaGFyYWN0ZXJDb250YWluZXIudmlzaWJsZSA9IHllc1xuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIEFsbCBwaWN0dXJlIG9iamVjdHMgYXMgYXJyYXkuIFRoYXQgaXMgdGhlIHNhbWUgbGlrZSBhY2Nlc3NpbmcgdGhlIDxiPnN1Yk9iamVjdHM8L2I+IG9mIHRoZVxuICAgICAgICAqIGNvbnRhaW5lciBvYmplY3QuXG4gICAgICAgICogQHByb3BlcnR5IHBpY3R1cmVzXG4gICAgICAgICogQHR5cGUgZ3MuT2JqZWN0X1BpY3R1cmVbXVxuICAgICAgICAqIEByZWFkT25seVxuICAgICAgICAjIyNcbiAgICAgICAgQHBpY3R1cmVzID0gQHBpY3R1cmVDb250YWluZXIuc3ViT2JqZWN0c1xuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIEFsbCB2aWRlbyBvYmplY3RzIGFzIGFycmF5LiBUaGF0IGlzIHRoZSBzYW1lIGxpa2UgYWNjZXNzaW5nIHRoZSA8Yj5zdWJPYmplY3RzPC9iPiBvZiB0aGVcbiAgICAgICAgKiBjb250YWluZXIgb2JqZWN0LlxuICAgICAgICAqIEBwcm9wZXJ0eSB2aWRlb3NcbiAgICAgICAgKiBAdHlwZSBncy5PYmplY3RfVmlkZW9bXVxuICAgICAgICAqIEByZWFkT25seVxuICAgICAgICAjIyNcbiAgICAgICAgQHZpZGVvcyA9IEB2aWRlb0NvbnRhaW5lci5zdWJPYmplY3RzXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogQWxsIHRleHQgb2JqZWN0cyBhcyBhcnJheS4gVGhhdCBpcyB0aGUgc2FtZSBsaWtlIGFjY2Vzc2luZyB0aGUgPGI+c3ViT2JqZWN0czwvYj4gb2YgdGhlXG4gICAgICAgICogY29udGFpbmVyIG9iamVjdC5cbiAgICAgICAgKiBAcHJvcGVydHkgdGV4dHNcbiAgICAgICAgKiBAdHlwZSBncy5PYmplY3RfVGV4dFtdXG4gICAgICAgICogQHJlYWRPbmx5XG4gICAgICAgICMjI1xuICAgICAgICBAdGV4dHMgPSBAdGV4dENvbnRhaW5lci5zdWJPYmplY3RzXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogQWxsIGNoYXJhY3RlciBvYmplY3RzIGFzIGFycmF5LiBUaGF0IGlzIHRoZSBzYW1lIGxpa2UgYWNjZXNzaW5nIHRoZSA8Yj5zdWJPYmplY3RzPC9iPiBvZiB0aGVcbiAgICAgICAgKiBjb250YWluZXIgb2JqZWN0LlxuICAgICAgICAqIEBwcm9wZXJ0eSBjaGFyYWN0ZXJzXG4gICAgICAgICogQHR5cGUgZ3MuT2JqZWN0X0NoYXJhY3RlcltdXG4gICAgICAgICogQHJlYWRPbmx5XG4gICAgICAgICMjI1xuICAgICAgICBAY2hhcmFjdGVycyA9IEBjaGFyYWN0ZXJDb250YWluZXIuc3ViT2JqZWN0c1xuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIEFsbCBiYWNrZ3JvdW5kcyBhcyBhcnJheS4gVGhhdCBpcyB0aGUgc2FtZSBsaWtlIGFjY2Vzc2luZyB0aGUgPGI+c3ViT2JqZWN0czwvYj4gb2YgdGhlXG4gICAgICAgICogY29udGFpbmVyIG9iamVjdC5cbiAgICAgICAgKiBAcHJvcGVydHkgYmFja2dyb3VuZHNcbiAgICAgICAgKiBAdHlwZSBncy5PYmplY3RfQmFja2dyb3VuZFtdXG4gICAgICAgICogQHJlYWRPbmx5XG4gICAgICAgICMjI1xuICAgICAgICBAYmFja2dyb3VuZHMgPSBAYmFja2dyb3VuZENvbnRhaW5lci5zdWJPYmplY3RzXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogQWxsIGhvdHNwb3Qgb2JqZWN0cyBhcyBhcnJheS4gVGhhdCBpcyB0aGUgc2FtZSBsaWtlIGFjY2Vzc2luZyB0aGUgPGI+c3ViT2JqZWN0czwvYj4gb2YgdGhlXG4gICAgICAgICogY29udGFpbmVyIG9iamVjdC5cbiAgICAgICAgKiBAcHJvcGVydHkgaG90c3BvdHNcbiAgICAgICAgKiBAdHlwZSBncy5PYmplY3RfSG90c3BvdFtdXG4gICAgICAgICogQHJlYWRPbmx5XG4gICAgICAgICMjI1xuICAgICAgICBAaG90c3BvdHMgPSBAaG90c3BvdENvbnRhaW5lci5zdWJPYmplY3RzXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogQWxsIGludGVydmFsIHRpbWVyIG9iamVjdHMgYXMgYXJyYXkuIFRoYXQgaXMgdGhlIHNhbWUgbGlrZSBhY2Nlc3NpbmcgdGhlIDxiPnN1Yk9iamVjdHM8L2I+IG9mIHRoZVxuICAgICAgICAqIGNvbnRhaW5lciBvYmplY3QuXG4gICAgICAgICogQHByb3BlcnR5IHRpbWVyc1xuICAgICAgICAqIEB0eXBlIGdzLk9iamVjdF9JbnRlcnZhbFRpbWVyW11cbiAgICAgICAgKiBAcmVhZE9ubHlcbiAgICAgICAgIyMjXG4gICAgICAgIEB0aW1lcnMgPSBAdGltZXJDb250YWluZXIuc3ViT2JqZWN0c1xuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIEFsbCBtZXNzYWdlIGFyZWFzIGFzIGFycmF5LlxuICAgICAgICAqIEBwcm9wZXJ0eSBtZXNzYWdlQXJlYXNcbiAgICAgICAgKiBAdHlwZSB2bi5NZXNzYWdlQXJlYVtdXG4gICAgICAgICogQHJlYWRPbmx5XG4gICAgICAgICMjI1xuICAgICAgICBAbWVzc2FnZUFyZWFzID0gQG1lc3NhZ2VBcmVhQ29udGFpbmVyLnN1Yk9iamVjdHNcbiAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIFRoZSBjdXJyZW50IGxpc3Qgb2YgY2hvaWNlcyB3aGljaCBzaG91bGQgYmUgZGlzcGxheWVkXG4gICAgICAgICogb24gdGhlIHNjcmVlbi4gTmV3IGNob2ljZXMgYXJlIHVzdWFsbHkgYWRkZWQgdXNpbmdcbiAgICAgICAgKiBBZGQgQ2hvaWNlIGNvbW1hbmQgaW4gU2NlbmUgRWRpdG9yIGJlZm9yZSBhbGwgY2hvaWNlcyBhcmVcbiAgICAgICAgKiBkaXNwbGF5ZWQgdmlhIFNob3cgQ2hvaWNlcyBjb21tYW5kLlxuICAgICAgICAqIEBwcm9wZXJ0eSBjaG9pY2VzXG4gICAgICAgICogQHR5cGUgdm4uQ2hvaWNlW11cbiAgICAgICAgIyMjXG4gICAgICAgIEBjaG9pY2VzID0gW11cbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBBIHRpbWVyIG9iamVjdCB1c2VkIGZvciBjaG9pY2VzIHdpdGggdGltZS1saW1pdC5cbiAgICAgICAgKiBAcHJvcGVydHkgY2hvaWNlVGltZXJcbiAgICAgICAgKiBAdHlwZSBncy5PYmplY3RfVGltZXJcbiAgICAgICAgIyMjXG4gICAgICAgIEBjaG9pY2VUaW1lciA9IG5ldyBncy5PYmplY3RfVGltZXIoKVxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIEluZGljYXRlcyBpZiB0aGUgVUkgbGF5b3V0IGlzIHZpc2libGUuXG4gICAgICAgICogQHByb3BlcnR5IHZpc2libGVcbiAgICAgICAgKiBAdHlwZSBib29sZWFuXG4gICAgICAgICMjI1xuICAgICAgICBAdmlzaWJsZSA9IHllc1xuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIEBwcm9wZXJ0eSB2aXNpYmxlX1xuICAgICAgICAqIEB0eXBlIGJvb2xlYW5cbiAgICAgICAgKiBAcHJvdGVjdGVkXG4gICAgICAgICMjI1xuICAgICAgICBAdmlzaWJsZV8gPSB5ZXNcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBUaGUgZ2FtZSBzZXR0aW5ncy5cbiAgICAgICAgKiBAcHJvcGVydHkgc2V0dGluZ3NcbiAgICAgICAgKiBAdHlwZSBPYmplY3RcbiAgICAgICAgIyMjXG4gICAgICAgIEBzZXR0aW5ncyA9IEdhbWVNYW5hZ2VyLnNldHRpbmdzXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogVGVtcG9yYXJ5IHNldHRpbmdzIGxpa2Ugc2tpcCwgZXRjLlxuICAgICAgICAqIEBwcm9wZXJ0eSB0ZW1wU2V0dGluZ3NcbiAgICAgICAgKiBAdHlwZSBPYmplY3RcbiAgICAgICAgIyMjXG4gICAgICAgIEB0ZW1wU2V0dGluZ3MgPSBHYW1lTWFuYWdlci50ZW1wU2V0dGluZ3NcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBDb250YWlucyBhbGwgZGF0YSBuZWNlc3NhcnkgdG8gY29uc3RydWN0IHRoZSBzY2VuZS5cbiAgICAgICAgKiBAcHJvcGVydHkgc2NlbmVEYXRhXG4gICAgICAgICogQHR5cGUgT2JqZWN0XG4gICAgICAgICMjI1xuICAgICAgICBAc2NlbmVEYXRhID0gR2FtZU1hbmFnZXIuc2NlbmVEYXRhXG4gICAgICAgIFxuICAgICAgICBAYWRkT2JqZWN0KEBiYWNrZ3JvdW5kQ29udGFpbmVyKVxuICAgICAgICBAYWRkT2JqZWN0KEBjaGFyYWN0ZXJDb250YWluZXIpXG4gICAgICAgIEBhZGRPYmplY3QoQHBpY3R1cmVDb250YWluZXIpXG4gICAgICAgIEBhZGRPYmplY3QoQHRleHRDb250YWluZXIpXG4gICAgICAgIEBhZGRPYmplY3QoQHZpZGVvQ29udGFpbmVyKVxuICAgICAgICBAYWRkT2JqZWN0KEBob3RzcG90Q29udGFpbmVyKVxuICAgICAgICBAYWRkT2JqZWN0KEB2aWV3cG9ydENvbnRhaW5lcilcbiAgICAgICAgQGFkZE9iamVjdChAY29tbW9uRXZlbnRDb250YWluZXIpXG4gICAgICAgIEBhZGRPYmplY3QoQHRpbWVyQ29udGFpbmVyKVxuICAgICAgICBAYWRkT2JqZWN0KEBjaG9pY2VUaW1lcilcbiAgICAgICAgQGFkZE9iamVjdChAbWVzc2FnZUFyZWFDb250YWluZXIpXG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgQGFkZENvbXBvbmVudChuZXcgZ3MuQ29tcG9uZW50X0lucHV0SGFuZGxlcigpKVxuICAgICAgICBAYWRkQ29tcG9uZW50KEBiZWhhdmlvcilcbiAgICAgICAgQGFkZENvbXBvbmVudChAaW50ZXJwcmV0ZXIpXG4gICAgICAgIFxuICAgICAgICBcbnZuLk9iamVjdF9TY2VuZSA9IE9iamVjdF9TY2VuZSJdfQ==\n//# sourceURL=Object_Scene_161.js"
    },
    "summary": [
        "name",
        "type",
        "order"
    ]
}

Commits for Nextrek/s2s/data/37BD01A5KBA1BA4238S876AE816A837C1419.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