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": "2C8E6136K1C73A4120SAF46EC417B6AE1CD7",
    "isLoaded": true,
    "lastModificationTime": 0,
    "items": {
        "name": "Object_CommonEvent",
        "type": "game_script",
        "order": 15,
        "content": "# ===================================================================\n#\n#   Script: Object_CommonEvent\n#\n#   $$COPYRIGHT$$\n#\n# ===================================================================\nclass Object_CommonEvent extends gs.Object_Base\n    @objectCodecBlackList = [\"record\", \"commands\", \"parent\"]\n    \n    ###*\n    * Called if this object instance is restored from a data-bundle. It can be used\n    * re-assign event-handler, anonymous functions, etc.\n    * \n    * @method onDataBundleRestore.\n    * @param Object data - The data-bundle\n    * @param gs.ObjectCodecContext context - The codec-context.\n    ###\n    onDataBundleRestore: (data, context) ->\n        if @rid?\n            @record = RecordManager.commonEvents[@rid]\n            @interpreter?.object = this\n            @commands = @record.commands\n\n        \n    ###*\n    * A common-event object handles a single common event defined in the\n    * database. Common events can run parallel to the actual scene content\n    * or can be just called from a scene to execute a common piece of logic.\n    *\n    * @module gs\n    * @class Object_CommonEvent\n    * @extends gs.Object_Base\n    * @memberof gs\n    * @constructor\n    ###\n    constructor: (data) ->\n        super()\n        \n        ###*\n        * The common event database record.\n        * @property record\n        * @type Object\n        ###\n        @record = null\n        \n        ###*\n        * The behavior component to add common-event specific behavior to the object.\n        * @property behavior\n        * @type gs.Component_CommonEventBehavior\n        ###\n        @behavior = new gs.Component_CommonEventBehavior()\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        * An interpreter to execute the commands of the common event.\n        * @property interpreter\n        * @type gs.Component_CommandInterpreter\n        ###\n        @interpreter = null\n        \n        @events.object = this\n        \n        if data\n            @restore(data)\n        else\n            @addComponent(@behavior)\n        \n    ###*\n    * Serializes the common-event into a data-bundle.\n    *\n    * @method toDataBundle\n    * @return {Object} The data-bundle.\n    ###  \n    toDataBundle: ->\n        @commands = @record.commands\n        return {\n            behavior: @behavior.toDataBundle(),\n            interpreter: @interpreter?.toDataBundle(),\n            recordId: @record.index\n        }\n       \n    ###*\n    * Restores the common-event from a data-bundle\n    *\n    * @method restore\n    * @param {Object} bundle- The data-bundle.\n    ###     \n    restore: (data) ->\n        if @behavior?\n            @removeComponent(@behavior)\n            \n        @behavior = new gs.Component_CommonEventBehavior()\n        @addComponent(@behavior)\n        @record = RecordManager.commonEvents[data.recordId]\n        \n        @behavior.restore(data.behavior)\n        if data.interpreter and @interpreter\n            @interpreter.restore(data.interpreter)\n            @interpreter.context.set(@record.id, @record)\n            @commands = @record.commands\n       \n        \n        \n        \n        \ngs.Object_CommonEvent = Object_CommonEvent",
        "parentId": "A05E7029K45DBA459BSADF4EEC07A526241A",
        "folder": false,
        "compiledContent": "var Object_CommonEvent,\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_CommonEvent = (function(superClass) {\n  extend(Object_CommonEvent, superClass);\n\n  Object_CommonEvent.objectCodecBlackList = [\"record\", \"commands\", \"parent\"];\n\n\n  /**\n  * Called if this object instance is restored from a data-bundle. It can be used\n  * re-assign event-handler, anonymous functions, etc.\n  * \n  * @method onDataBundleRestore.\n  * @param Object data - The data-bundle\n  * @param gs.ObjectCodecContext context - The codec-context.\n   */\n\n  Object_CommonEvent.prototype.onDataBundleRestore = function(data, context) {\n    var ref;\n    if (this.rid != null) {\n      this.record = RecordManager.commonEvents[this.rid];\n      if ((ref = this.interpreter) != null) {\n        ref.object = this;\n      }\n      return this.commands = this.record.commands;\n    }\n  };\n\n\n  /**\n  * A common-event object handles a single common event defined in the\n  * database. Common events can run parallel to the actual scene content\n  * or can be just called from a scene to execute a common piece of logic.\n  *\n  * @module gs\n  * @class Object_CommonEvent\n  * @extends gs.Object_Base\n  * @memberof gs\n  * @constructor\n   */\n\n  function Object_CommonEvent(data) {\n    Object_CommonEvent.__super__.constructor.call(this);\n\n    /**\n    * The common event database record.\n    * @property record\n    * @type Object\n     */\n    this.record = null;\n\n    /**\n    * The behavior component to add common-event specific behavior to the object.\n    * @property behavior\n    * @type gs.Component_CommonEventBehavior\n     */\n    this.behavior = new gs.Component_CommonEventBehavior();\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    * An interpreter to execute the commands of the common event.\n    * @property interpreter\n    * @type gs.Component_CommandInterpreter\n     */\n    this.interpreter = null;\n    this.events.object = this;\n    if (data) {\n      this.restore(data);\n    } else {\n      this.addComponent(this.behavior);\n    }\n  }\n\n\n  /**\n  * Serializes the common-event into a data-bundle.\n  *\n  * @method toDataBundle\n  * @return {Object} The data-bundle.\n   */\n\n  Object_CommonEvent.prototype.toDataBundle = function() {\n    var ref;\n    this.commands = this.record.commands;\n    return {\n      behavior: this.behavior.toDataBundle(),\n      interpreter: (ref = this.interpreter) != null ? ref.toDataBundle() : void 0,\n      recordId: this.record.index\n    };\n  };\n\n\n  /**\n  * Restores the common-event from a data-bundle\n  *\n  * @method restore\n  * @param {Object} bundle- The data-bundle.\n   */\n\n  Object_CommonEvent.prototype.restore = function(data) {\n    if (this.behavior != null) {\n      this.removeComponent(this.behavior);\n    }\n    this.behavior = new gs.Component_CommonEventBehavior();\n    this.addComponent(this.behavior);\n    this.record = RecordManager.commonEvents[data.recordId];\n    this.behavior.restore(data.behavior);\n    if (data.interpreter && this.interpreter) {\n      this.interpreter.restore(data.interpreter);\n      this.interpreter.context.set(this.record.id, this.record);\n      return this.commands = this.record.commands;\n    }\n  };\n\n  return Object_CommonEvent;\n\n})(gs.Object_Base);\n\ngs.Object_CommonEvent = Object_CommonEvent;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsa0JBQUE7RUFBQTs7O0FBQU07OztFQUNGLGtCQUFDLENBQUEsb0JBQUQsR0FBd0IsQ0FBQyxRQUFELEVBQVcsVUFBWCxFQUF1QixRQUF2Qjs7O0FBRXhCOzs7Ozs7Ozs7K0JBUUEsbUJBQUEsR0FBcUIsU0FBQyxJQUFELEVBQU8sT0FBUDtBQUNqQixRQUFBO0lBQUEsSUFBRyxnQkFBSDtNQUNJLElBQUMsQ0FBQSxNQUFELEdBQVUsYUFBYSxDQUFDLFlBQWEsQ0FBQSxJQUFDLENBQUEsR0FBRDs7V0FDekIsQ0FBRSxNQUFkLEdBQXVCOzthQUN2QixJQUFDLENBQUEsUUFBRCxHQUFZLElBQUMsQ0FBQSxNQUFNLENBQUMsU0FIeEI7O0VBRGlCOzs7QUFPckI7Ozs7Ozs7Ozs7OztFQVdhLDRCQUFDLElBQUQ7SUFDVCxrREFBQTs7QUFFQTs7Ozs7SUFLQSxJQUFDLENBQUEsTUFBRCxHQUFVOztBQUVWOzs7OztJQUtBLElBQUMsQ0FBQSxRQUFELEdBQWdCLElBQUEsRUFBRSxDQUFDLDZCQUFILENBQUE7O0FBRWhCOzs7OztJQUtBLElBQUMsQ0FBQSxNQUFELEdBQWMsSUFBQSxFQUFFLENBQUMsc0JBQUgsQ0FBQTs7QUFFZDs7Ozs7SUFLQSxJQUFDLENBQUEsV0FBRCxHQUFlO0lBRWYsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFSLEdBQWlCO0lBRWpCLElBQUcsSUFBSDtNQUNJLElBQUMsQ0FBQSxPQUFELENBQVMsSUFBVCxFQURKO0tBQUEsTUFBQTtNQUdJLElBQUMsQ0FBQSxZQUFELENBQWMsSUFBQyxDQUFBLFFBQWYsRUFISjs7RUFqQ1M7OztBQXNDYjs7Ozs7OzsrQkFNQSxZQUFBLEdBQWMsU0FBQTtBQUNWLFFBQUE7SUFBQSxJQUFDLENBQUEsUUFBRCxHQUFZLElBQUMsQ0FBQSxNQUFNLENBQUM7QUFDcEIsV0FBTztNQUNILFFBQUEsRUFBVSxJQUFDLENBQUEsUUFBUSxDQUFDLFlBQVYsQ0FBQSxDQURQO01BRUgsV0FBQSx3Q0FBeUIsQ0FBRSxZQUFkLENBQUEsVUFGVjtNQUdILFFBQUEsRUFBVSxJQUFDLENBQUEsTUFBTSxDQUFDLEtBSGY7O0VBRkc7OztBQVFkOzs7Ozs7OytCQU1BLE9BQUEsR0FBUyxTQUFDLElBQUQ7SUFDTCxJQUFHLHFCQUFIO01BQ0ksSUFBQyxDQUFBLGVBQUQsQ0FBaUIsSUFBQyxDQUFBLFFBQWxCLEVBREo7O0lBR0EsSUFBQyxDQUFBLFFBQUQsR0FBZ0IsSUFBQSxFQUFFLENBQUMsNkJBQUgsQ0FBQTtJQUNoQixJQUFDLENBQUEsWUFBRCxDQUFjLElBQUMsQ0FBQSxRQUFmO0lBQ0EsSUFBQyxDQUFBLE1BQUQsR0FBVSxhQUFhLENBQUMsWUFBYSxDQUFBLElBQUksQ0FBQyxRQUFMO0lBRXJDLElBQUMsQ0FBQSxRQUFRLENBQUMsT0FBVixDQUFrQixJQUFJLENBQUMsUUFBdkI7SUFDQSxJQUFHLElBQUksQ0FBQyxXQUFMLElBQXFCLElBQUMsQ0FBQSxXQUF6QjtNQUNJLElBQUMsQ0FBQSxXQUFXLENBQUMsT0FBYixDQUFxQixJQUFJLENBQUMsV0FBMUI7TUFDQSxJQUFDLENBQUEsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFyQixDQUF5QixJQUFDLENBQUEsTUFBTSxDQUFDLEVBQWpDLEVBQXFDLElBQUMsQ0FBQSxNQUF0QzthQUNBLElBQUMsQ0FBQSxRQUFELEdBQVksSUFBQyxDQUFBLE1BQU0sQ0FBQyxTQUh4Qjs7RUFUSzs7OztHQXZGb0IsRUFBRSxDQUFDOztBQXlHcEMsRUFBRSxDQUFDLGtCQUFILEdBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4jXG4jICAgU2NyaXB0OiBPYmplY3RfQ29tbW9uRXZlbnRcbiNcbiMgICAkJENPUFlSSUdIVCQkXG4jXG4jID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmNsYXNzIE9iamVjdF9Db21tb25FdmVudCBleHRlbmRzIGdzLk9iamVjdF9CYXNlXG4gICAgQG9iamVjdENvZGVjQmxhY2tMaXN0ID0gW1wicmVjb3JkXCIsIFwiY29tbWFuZHNcIiwgXCJwYXJlbnRcIl1cbiAgICBcbiAgICAjIyMqXG4gICAgKiBDYWxsZWQgaWYgdGhpcyBvYmplY3QgaW5zdGFuY2UgaXMgcmVzdG9yZWQgZnJvbSBhIGRhdGEtYnVuZGxlLiBJdCBjYW4gYmUgdXNlZFxuICAgICogcmUtYXNzaWduIGV2ZW50LWhhbmRsZXIsIGFub255bW91cyBmdW5jdGlvbnMsIGV0Yy5cbiAgICAqIFxuICAgICogQG1ldGhvZCBvbkRhdGFCdW5kbGVSZXN0b3JlLlxuICAgICogQHBhcmFtIE9iamVjdCBkYXRhIC0gVGhlIGRhdGEtYnVuZGxlXG4gICAgKiBAcGFyYW0gZ3MuT2JqZWN0Q29kZWNDb250ZXh0IGNvbnRleHQgLSBUaGUgY29kZWMtY29udGV4dC5cbiAgICAjIyNcbiAgICBvbkRhdGFCdW5kbGVSZXN0b3JlOiAoZGF0YSwgY29udGV4dCkgLT5cbiAgICAgICAgaWYgQHJpZD9cbiAgICAgICAgICAgIEByZWNvcmQgPSBSZWNvcmRNYW5hZ2VyLmNvbW1vbkV2ZW50c1tAcmlkXVxuICAgICAgICAgICAgQGludGVycHJldGVyPy5vYmplY3QgPSB0aGlzXG4gICAgICAgICAgICBAY29tbWFuZHMgPSBAcmVjb3JkLmNvbW1hbmRzXG5cbiAgICAgICAgXG4gICAgIyMjKlxuICAgICogQSBjb21tb24tZXZlbnQgb2JqZWN0IGhhbmRsZXMgYSBzaW5nbGUgY29tbW9uIGV2ZW50IGRlZmluZWQgaW4gdGhlXG4gICAgKiBkYXRhYmFzZS4gQ29tbW9uIGV2ZW50cyBjYW4gcnVuIHBhcmFsbGVsIHRvIHRoZSBhY3R1YWwgc2NlbmUgY29udGVudFxuICAgICogb3IgY2FuIGJlIGp1c3QgY2FsbGVkIGZyb20gYSBzY2VuZSB0byBleGVjdXRlIGEgY29tbW9uIHBpZWNlIG9mIGxvZ2ljLlxuICAgICpcbiAgICAqIEBtb2R1bGUgZ3NcbiAgICAqIEBjbGFzcyBPYmplY3RfQ29tbW9uRXZlbnRcbiAgICAqIEBleHRlbmRzIGdzLk9iamVjdF9CYXNlXG4gICAgKiBAbWVtYmVyb2YgZ3NcbiAgICAqIEBjb25zdHJ1Y3RvclxuICAgICMjI1xuICAgIGNvbnN0cnVjdG9yOiAoZGF0YSkgLT5cbiAgICAgICAgc3VwZXIoKVxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIFRoZSBjb21tb24gZXZlbnQgZGF0YWJhc2UgcmVjb3JkLlxuICAgICAgICAqIEBwcm9wZXJ0eSByZWNvcmRcbiAgICAgICAgKiBAdHlwZSBPYmplY3RcbiAgICAgICAgIyMjXG4gICAgICAgIEByZWNvcmQgPSBudWxsXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogVGhlIGJlaGF2aW9yIGNvbXBvbmVudCB0byBhZGQgY29tbW9uLWV2ZW50IHNwZWNpZmljIGJlaGF2aW9yIHRvIHRoZSBvYmplY3QuXG4gICAgICAgICogQHByb3BlcnR5IGJlaGF2aW9yXG4gICAgICAgICogQHR5cGUgZ3MuQ29tcG9uZW50X0NvbW1vbkV2ZW50QmVoYXZpb3JcbiAgICAgICAgIyMjXG4gICAgICAgIEBiZWhhdmlvciA9IG5ldyBncy5Db21wb25lbnRfQ29tbW9uRXZlbnRCZWhhdmlvcigpXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogQW4gZXZlbnQtZW1pdHRlciB0byBlbWl0IGV2ZW50cy5cbiAgICAgICAgKiBAcHJvcGVydHkgZXZlbnRzXG4gICAgICAgICogQHR5cGUgZ3MuQ29tcG9uZW50X0V2ZW50RW1pdHRlclxuICAgICAgICAjIyNcbiAgICAgICAgQGV2ZW50cyA9IG5ldyBncy5Db21wb25lbnRfRXZlbnRFbWl0dGVyKClcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBBbiBpbnRlcnByZXRlciB0byBleGVjdXRlIHRoZSBjb21tYW5kcyBvZiB0aGUgY29tbW9uIGV2ZW50LlxuICAgICAgICAqIEBwcm9wZXJ0eSBpbnRlcnByZXRlclxuICAgICAgICAqIEB0eXBlIGdzLkNvbXBvbmVudF9Db21tYW5kSW50ZXJwcmV0ZXJcbiAgICAgICAgIyMjXG4gICAgICAgIEBpbnRlcnByZXRlciA9IG51bGxcbiAgICAgICAgXG4gICAgICAgIEBldmVudHMub2JqZWN0ID0gdGhpc1xuICAgICAgICBcbiAgICAgICAgaWYgZGF0YVxuICAgICAgICAgICAgQHJlc3RvcmUoZGF0YSlcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgQGFkZENvbXBvbmVudChAYmVoYXZpb3IpXG4gICAgICAgIFxuICAgICMjIypcbiAgICAqIFNlcmlhbGl6ZXMgdGhlIGNvbW1vbi1ldmVudCBpbnRvIGEgZGF0YS1idW5kbGUuXG4gICAgKlxuICAgICogQG1ldGhvZCB0b0RhdGFCdW5kbGVcbiAgICAqIEByZXR1cm4ge09iamVjdH0gVGhlIGRhdGEtYnVuZGxlLlxuICAgICMjIyAgXG4gICAgdG9EYXRhQnVuZGxlOiAtPlxuICAgICAgICBAY29tbWFuZHMgPSBAcmVjb3JkLmNvbW1hbmRzXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBiZWhhdmlvcjogQGJlaGF2aW9yLnRvRGF0YUJ1bmRsZSgpLFxuICAgICAgICAgICAgaW50ZXJwcmV0ZXI6IEBpbnRlcnByZXRlcj8udG9EYXRhQnVuZGxlKCksXG4gICAgICAgICAgICByZWNvcmRJZDogQHJlY29yZC5pbmRleFxuICAgICAgICB9XG4gICAgICAgXG4gICAgIyMjKlxuICAgICogUmVzdG9yZXMgdGhlIGNvbW1vbi1ldmVudCBmcm9tIGEgZGF0YS1idW5kbGVcbiAgICAqXG4gICAgKiBAbWV0aG9kIHJlc3RvcmVcbiAgICAqIEBwYXJhbSB7T2JqZWN0fSBidW5kbGUtIFRoZSBkYXRhLWJ1bmRsZS5cbiAgICAjIyMgICAgIFxuICAgIHJlc3RvcmU6IChkYXRhKSAtPlxuICAgICAgICBpZiBAYmVoYXZpb3I/XG4gICAgICAgICAgICBAcmVtb3ZlQ29tcG9uZW50KEBiZWhhdmlvcilcbiAgICAgICAgICAgIFxuICAgICAgICBAYmVoYXZpb3IgPSBuZXcgZ3MuQ29tcG9uZW50X0NvbW1vbkV2ZW50QmVoYXZpb3IoKVxuICAgICAgICBAYWRkQ29tcG9uZW50KEBiZWhhdmlvcilcbiAgICAgICAgQHJlY29yZCA9IFJlY29yZE1hbmFnZXIuY29tbW9uRXZlbnRzW2RhdGEucmVjb3JkSWRdXG4gICAgICAgIFxuICAgICAgICBAYmVoYXZpb3IucmVzdG9yZShkYXRhLmJlaGF2aW9yKVxuICAgICAgICBpZiBkYXRhLmludGVycHJldGVyIGFuZCBAaW50ZXJwcmV0ZXJcbiAgICAgICAgICAgIEBpbnRlcnByZXRlci5yZXN0b3JlKGRhdGEuaW50ZXJwcmV0ZXIpXG4gICAgICAgICAgICBAaW50ZXJwcmV0ZXIuY29udGV4dC5zZXQoQHJlY29yZC5pZCwgQHJlY29yZClcbiAgICAgICAgICAgIEBjb21tYW5kcyA9IEByZWNvcmQuY29tbWFuZHNcbiAgICAgICBcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgICBcbiAgICAgICAgXG5ncy5PYmplY3RfQ29tbW9uRXZlbnQgPSBPYmplY3RfQ29tbW9uRXZlbnQiXX0=\n//# sourceURL=Object_CommonEvent_154.js"
    },
    "summary": [
        "name",
        "type",
        "order"
    ]
}

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

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