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": "2ADC0E64K3E53A43DFSA080E702C95F0ABF5",
    "isLoaded": true,
    "lastModificationTime": 0,
    "items": {
        "name": "Component_Container",
        "type": "game_script",
        "order": 1,
        "content": "# ===================================================================\n#\n#   Script: Component_Container\n#\n#   $$COPYRIGHT$$\n#\n# ===================================================================\nclass Component_Container extends gs.Component\n    ###*\n    * A container component allows an object to have sub-objects.\n    * @module gs\n    * @class Component_Container\n    * @memberof gs\n    * @constructor\n    ###\n    constructor: (disposeBehavior) ->\n        super\n        \n        ###*\n        * The behavior how the container deals with disposed game objects.\n        * @property disposeBehavior\n        * @default gs.ContainerDisposeBehavior.REMOVE\n        ###\n        @disposeBehavior = disposeBehavior ? gs.ContainerDisposeBehavior.REMOVE\n        \n    ###*\n    * Sorts the sub-objects by order-index.\n    * @method sort_\n    * @param {gs.Object_Base} a Object A\n    * @param {gs.Object_Base} b Object B\n    ###\n    sort_: (a, b) ->\n        if a.order > b.order\n          return -1\n        else if a.order < b.order\n          return 1\n        else\n          return 0\n          \n    ###*\n    * Sets the visibility of all sub objects.\n    * @method setVisible\n    * @param {boolean} visible - The new visibility.\n    ###\n    setVisible: (visible) ->\n        for subObject in @object.subObjects\n            if subObject\n                subObject.visible = visible\n                subObject.update()\n                \n    ###*\n    * Updates all sub-objects and sorts them if necessary. It also removes\n    * disposed objects from the list of sub-objects.\n    * @method update\n    ###\n    update: ->\n        super\n        \n        subObjects = @object.subObjects\n        if @object.needsSort\n            subObjects.sort(@sort_)\n            @object.needsSort = no\n          \n        i = 0\n        while i < subObjects.length\n            subObject = subObjects[i]\n            if subObject?.active\n                if subObject.disposed\n                    if @disposeBehavior == gs.ContainerDisposeBehavior.REMOVE\n                        subObjects.remove(subObject)\n                        i--\n                    else\n                        subObjects[i] = null\n                else\n                    subObject.update()\n            i++\n            \n        \ngs.Component_Container = Component_Container",
        "parentId": "D3325122KACDEA4515SB731E37A42B9D779F",
        "folder": false,
        "compiledContent": "var Component_Container,\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_Container = (function(superClass) {\n  extend(Component_Container, superClass);\n\n\n  /**\n  * A container component allows an object to have sub-objects.\n  * @module gs\n  * @class Component_Container\n  * @memberof gs\n  * @constructor\n   */\n\n  function Component_Container(disposeBehavior) {\n    Component_Container.__super__.constructor.apply(this, arguments);\n\n    /**\n    * The behavior how the container deals with disposed game objects.\n    * @property disposeBehavior\n    * @default gs.ContainerDisposeBehavior.REMOVE\n     */\n    this.disposeBehavior = disposeBehavior != null ? disposeBehavior : gs.ContainerDisposeBehavior.REMOVE;\n  }\n\n\n  /**\n  * Sorts the sub-objects by order-index.\n  * @method sort_\n  * @param {gs.Object_Base} a Object A\n  * @param {gs.Object_Base} b Object B\n   */\n\n  Component_Container.prototype.sort_ = function(a, b) {\n    if (a.order > b.order) {\n      return -1;\n    } else if (a.order < b.order) {\n      return 1;\n    } else {\n      return 0;\n    }\n  };\n\n\n  /**\n  * Sets the visibility of all sub objects.\n  * @method setVisible\n  * @param {boolean} visible - The new visibility.\n   */\n\n  Component_Container.prototype.setVisible = function(visible) {\n    var j, len, ref, results, subObject;\n    ref = this.object.subObjects;\n    results = [];\n    for (j = 0, len = ref.length; j < len; j++) {\n      subObject = ref[j];\n      if (subObject) {\n        subObject.visible = visible;\n        results.push(subObject.update());\n      } else {\n        results.push(void 0);\n      }\n    }\n    return results;\n  };\n\n\n  /**\n  * Updates all sub-objects and sorts them if necessary. It also removes\n  * disposed objects from the list of sub-objects.\n  * @method update\n   */\n\n  Component_Container.prototype.update = function() {\n    var i, results, subObject, subObjects;\n    Component_Container.__super__.update.apply(this, arguments);\n    subObjects = this.object.subObjects;\n    if (this.object.needsSort) {\n      subObjects.sort(this.sort_);\n      this.object.needsSort = false;\n    }\n    i = 0;\n    results = [];\n    while (i < subObjects.length) {\n      subObject = subObjects[i];\n      if (subObject != null ? subObject.active : void 0) {\n        if (subObject.disposed) {\n          if (this.disposeBehavior === gs.ContainerDisposeBehavior.REMOVE) {\n            subObjects.remove(subObject);\n            i--;\n          } else {\n            subObjects[i] = null;\n          }\n        } else {\n          subObject.update();\n        }\n      }\n      results.push(i++);\n    }\n    return results;\n  };\n\n  return Component_Container;\n\n})(gs.Component);\n\ngs.Component_Container = Component_Container;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsbUJBQUE7RUFBQTs7O0FBQU07Ozs7QUFDRjs7Ozs7Ozs7RUFPYSw2QkFBQyxlQUFEO0lBQ1Qsc0RBQUEsU0FBQTs7QUFFQTs7Ozs7SUFLQSxJQUFDLENBQUEsZUFBRCw2QkFBbUIsa0JBQWtCLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztFQVJ4RDs7O0FBVWI7Ozs7Ozs7Z0NBTUEsS0FBQSxHQUFPLFNBQUMsQ0FBRCxFQUFJLENBQUo7SUFDSCxJQUFHLENBQUMsQ0FBQyxLQUFGLEdBQVUsQ0FBQyxDQUFDLEtBQWY7QUFDRSxhQUFPLENBQUMsRUFEVjtLQUFBLE1BRUssSUFBRyxDQUFDLENBQUMsS0FBRixHQUFVLENBQUMsQ0FBQyxLQUFmO0FBQ0gsYUFBTyxFQURKO0tBQUEsTUFBQTtBQUdILGFBQU8sRUFISjs7RUFIRjs7O0FBUVA7Ozs7OztnQ0FLQSxVQUFBLEdBQVksU0FBQyxPQUFEO0FBQ1IsUUFBQTtBQUFBO0FBQUE7U0FBQSxxQ0FBQTs7TUFDSSxJQUFHLFNBQUg7UUFDSSxTQUFTLENBQUMsT0FBVixHQUFvQjtxQkFDcEIsU0FBUyxDQUFDLE1BQVYsQ0FBQSxHQUZKO09BQUEsTUFBQTs2QkFBQTs7QUFESjs7RUFEUTs7O0FBTVo7Ozs7OztnQ0FLQSxNQUFBLEdBQVEsU0FBQTtBQUNKLFFBQUE7SUFBQSxpREFBQSxTQUFBO0lBRUEsVUFBQSxHQUFhLElBQUMsQ0FBQSxNQUFNLENBQUM7SUFDckIsSUFBRyxJQUFDLENBQUEsTUFBTSxDQUFDLFNBQVg7TUFDSSxVQUFVLENBQUMsSUFBWCxDQUFnQixJQUFDLENBQUEsS0FBakI7TUFDQSxJQUFDLENBQUEsTUFBTSxDQUFDLFNBQVIsR0FBb0IsTUFGeEI7O0lBSUEsQ0FBQSxHQUFJO0FBQ0o7V0FBTSxDQUFBLEdBQUksVUFBVSxDQUFDLE1BQXJCO01BQ0ksU0FBQSxHQUFZLFVBQVcsQ0FBQSxDQUFBO01BQ3ZCLHdCQUFHLFNBQVMsQ0FBRSxlQUFkO1FBQ0ksSUFBRyxTQUFTLENBQUMsUUFBYjtVQUNJLElBQUcsSUFBQyxDQUFBLGVBQUQsS0FBb0IsRUFBRSxDQUFDLHdCQUF3QixDQUFDLE1BQW5EO1lBQ0ksVUFBVSxDQUFDLE1BQVgsQ0FBa0IsU0FBbEI7WUFDQSxDQUFBLEdBRko7V0FBQSxNQUFBO1lBSUksVUFBVyxDQUFBLENBQUEsQ0FBWCxHQUFnQixLQUpwQjtXQURKO1NBQUEsTUFBQTtVQU9JLFNBQVMsQ0FBQyxNQUFWLENBQUEsRUFQSjtTQURKOzttQkFTQSxDQUFBO0lBWEosQ0FBQTs7RUFUSTs7OztHQWhEc0IsRUFBRSxDQUFDOztBQXVFckMsRUFBRSxDQUFDLG1CQUFILEdBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4jXG4jICAgU2NyaXB0OiBDb21wb25lbnRfQ29udGFpbmVyXG4jXG4jICAgJCRDT1BZUklHSFQkJFxuI1xuIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5jbGFzcyBDb21wb25lbnRfQ29udGFpbmVyIGV4dGVuZHMgZ3MuQ29tcG9uZW50XG4gICAgIyMjKlxuICAgICogQSBjb250YWluZXIgY29tcG9uZW50IGFsbG93cyBhbiBvYmplY3QgdG8gaGF2ZSBzdWItb2JqZWN0cy5cbiAgICAqIEBtb2R1bGUgZ3NcbiAgICAqIEBjbGFzcyBDb21wb25lbnRfQ29udGFpbmVyXG4gICAgKiBAbWVtYmVyb2YgZ3NcbiAgICAqIEBjb25zdHJ1Y3RvclxuICAgICMjI1xuICAgIGNvbnN0cnVjdG9yOiAoZGlzcG9zZUJlaGF2aW9yKSAtPlxuICAgICAgICBzdXBlclxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIFRoZSBiZWhhdmlvciBob3cgdGhlIGNvbnRhaW5lciBkZWFscyB3aXRoIGRpc3Bvc2VkIGdhbWUgb2JqZWN0cy5cbiAgICAgICAgKiBAcHJvcGVydHkgZGlzcG9zZUJlaGF2aW9yXG4gICAgICAgICogQGRlZmF1bHQgZ3MuQ29udGFpbmVyRGlzcG9zZUJlaGF2aW9yLlJFTU9WRVxuICAgICAgICAjIyNcbiAgICAgICAgQGRpc3Bvc2VCZWhhdmlvciA9IGRpc3Bvc2VCZWhhdmlvciA/IGdzLkNvbnRhaW5lckRpc3Bvc2VCZWhhdmlvci5SRU1PVkVcbiAgICAgICAgXG4gICAgIyMjKlxuICAgICogU29ydHMgdGhlIHN1Yi1vYmplY3RzIGJ5IG9yZGVyLWluZGV4LlxuICAgICogQG1ldGhvZCBzb3J0X1xuICAgICogQHBhcmFtIHtncy5PYmplY3RfQmFzZX0gYSBPYmplY3QgQVxuICAgICogQHBhcmFtIHtncy5PYmplY3RfQmFzZX0gYiBPYmplY3QgQlxuICAgICMjI1xuICAgIHNvcnRfOiAoYSwgYikgLT5cbiAgICAgICAgaWYgYS5vcmRlciA+IGIub3JkZXJcbiAgICAgICAgICByZXR1cm4gLTFcbiAgICAgICAgZWxzZSBpZiBhLm9yZGVyIDwgYi5vcmRlclxuICAgICAgICAgIHJldHVybiAxXG4gICAgICAgIGVsc2VcbiAgICAgICAgICByZXR1cm4gMFxuICAgICAgICAgIFxuICAgICMjIypcbiAgICAqIFNldHMgdGhlIHZpc2liaWxpdHkgb2YgYWxsIHN1YiBvYmplY3RzLlxuICAgICogQG1ldGhvZCBzZXRWaXNpYmxlXG4gICAgKiBAcGFyYW0ge2Jvb2xlYW59IHZpc2libGUgLSBUaGUgbmV3IHZpc2liaWxpdHkuXG4gICAgIyMjXG4gICAgc2V0VmlzaWJsZTogKHZpc2libGUpIC0+XG4gICAgICAgIGZvciBzdWJPYmplY3QgaW4gQG9iamVjdC5zdWJPYmplY3RzXG4gICAgICAgICAgICBpZiBzdWJPYmplY3RcbiAgICAgICAgICAgICAgICBzdWJPYmplY3QudmlzaWJsZSA9IHZpc2libGVcbiAgICAgICAgICAgICAgICBzdWJPYmplY3QudXBkYXRlKClcbiAgICAgICAgICAgICAgICBcbiAgICAjIyMqXG4gICAgKiBVcGRhdGVzIGFsbCBzdWItb2JqZWN0cyBhbmQgc29ydHMgdGhlbSBpZiBuZWNlc3NhcnkuIEl0IGFsc28gcmVtb3Zlc1xuICAgICogZGlzcG9zZWQgb2JqZWN0cyBmcm9tIHRoZSBsaXN0IG9mIHN1Yi1vYmplY3RzLlxuICAgICogQG1ldGhvZCB1cGRhdGVcbiAgICAjIyNcbiAgICB1cGRhdGU6IC0+XG4gICAgICAgIHN1cGVyXG4gICAgICAgIFxuICAgICAgICBzdWJPYmplY3RzID0gQG9iamVjdC5zdWJPYmplY3RzXG4gICAgICAgIGlmIEBvYmplY3QubmVlZHNTb3J0XG4gICAgICAgICAgICBzdWJPYmplY3RzLnNvcnQoQHNvcnRfKVxuICAgICAgICAgICAgQG9iamVjdC5uZWVkc1NvcnQgPSBub1xuICAgICAgICAgIFxuICAgICAgICBpID0gMFxuICAgICAgICB3aGlsZSBpIDwgc3ViT2JqZWN0cy5sZW5ndGhcbiAgICAgICAgICAgIHN1Yk9iamVjdCA9IHN1Yk9iamVjdHNbaV1cbiAgICAgICAgICAgIGlmIHN1Yk9iamVjdD8uYWN0aXZlXG4gICAgICAgICAgICAgICAgaWYgc3ViT2JqZWN0LmRpc3Bvc2VkXG4gICAgICAgICAgICAgICAgICAgIGlmIEBkaXNwb3NlQmVoYXZpb3IgPT0gZ3MuQ29udGFpbmVyRGlzcG9zZUJlaGF2aW9yLlJFTU9WRVxuICAgICAgICAgICAgICAgICAgICAgICAgc3ViT2JqZWN0cy5yZW1vdmUoc3ViT2JqZWN0KVxuICAgICAgICAgICAgICAgICAgICAgICAgaS0tXG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Yk9iamVjdHNbaV0gPSBudWxsXG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBzdWJPYmplY3QudXBkYXRlKClcbiAgICAgICAgICAgIGkrK1xuICAgICAgICAgICAgXG4gICAgICAgIFxuZ3MuQ29tcG9uZW50X0NvbnRhaW5lciA9IENvbXBvbmVudF9Db250YWluZXIiXX0=\n//# sourceURL=Component_Container_22.js"
    },
    "summary": [
        "name",
        "type",
        "order"
    ]
}

Commits for Nextrek/s2s/data/2ADC0E64K3E53A43DFSA080E702C95F0ABF5.json

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