1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
{
"uid": "E8FBFC5DK15DEA4E5ASB674E1F40EDBB5620",
"isLoaded": true,
"lastModificationTime": 0,
"items": {
"name": "Component_Quad",
"type": "game_script",
"order": 5,
"content": "# ===================================================================\n#\n# Script: Component_Quad\n#\n# $$COPYRIGHT$$\n#\n# ===================================================================\nclass Component_Quad extends gs.Component_Visual\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 @setupEventHandlers()\n \n ###*\n * A quad component displays rectangle on the screen using the color\n * of the game object.\n *\n * @module gs\n * @class Component_Quad\n * @extends gs.Component\n * @memberof gs\n * @constructor\n ###\n constructor: ->\n super\n \n ###*\n * The native quad-object to display a colored rectangle on screen.\n * @property quad\n * @type gs.Quad\n * @protected\n ###\n @quad = null \n \n ###*\n * Disposes the quad.\n * @method dispose\n ###\n dispose: -> @quad.dispose()\n \n ###*\n * Adds event-handlers for mouse/touch events\n *\n * @method setupEventHandlers\n ### \n setupEventHandlers: ->\n @quad.onIndexChange = =>\n @object.rIndex = @quad.index\n \n ###*\n * Sets up the quad.\n * @method setup\n ###\n setup: ->\n @isSetup = yes\n @quad = new gs.Quad(Graphics.viewport)\n @setupEventHandlers()\n @update()\n \n ###*\n * Updates the quad and its properties.\n * @method update\n ###\n update: ->\n super\n \n @setup() if not @isSetup\n @object.rIndex = @quad.index\n @quad.rect.set(@object.dstRect.x, @object.dstRect.y, @object.dstRect.width, @object.dstRect.height)\n @quad.visible = @object.visible\n @quad.ox = -@object.origin.x\n @quad.oy = -@object.origin.y\n @quad.z = (@object.zIndex || 0) + (if !@object.parent then 0 else @object.parent.zIndex || 0)\n @quad.color = @object.color || Colors.TRANSPARENT\n @quad.opacity = @object.opacity ? 255\n @quad.clipRect = @object.clipRect\n\ngs.Component_Quad = Component_Quad",
"parentId": "D3325122KACDEA4515SB731E37A42B9D779F",
"folder": false,
"compiledContent": "var Component_Quad,\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_Quad = (function(superClass) {\n extend(Component_Quad, superClass);\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 Component_Quad.prototype.onDataBundleRestore = function(data, context) {\n return this.setupEventHandlers();\n };\n\n\n /**\n * A quad component displays rectangle on the screen using the color\n * of the game object.\n *\n * @module gs\n * @class Component_Quad\n * @extends gs.Component\n * @memberof gs\n * @constructor\n */\n\n function Component_Quad() {\n Component_Quad.__super__.constructor.apply(this, arguments);\n\n /**\n * The native quad-object to display a colored rectangle on screen.\n * @property quad\n * @type gs.Quad\n * @protected\n */\n this.quad = null;\n }\n\n\n /**\n * Disposes the quad.\n * @method dispose\n */\n\n Component_Quad.prototype.dispose = function() {\n return this.quad.dispose();\n };\n\n\n /**\n * Adds event-handlers for mouse/touch events\n *\n * @method setupEventHandlers\n */\n\n Component_Quad.prototype.setupEventHandlers = function() {\n return this.quad.onIndexChange = (function(_this) {\n return function() {\n return _this.object.rIndex = _this.quad.index;\n };\n })(this);\n };\n\n\n /**\n * Sets up the quad.\n * @method setup\n */\n\n Component_Quad.prototype.setup = function() {\n this.isSetup = true;\n this.quad = new gs.Quad(Graphics.viewport);\n this.setupEventHandlers();\n return this.update();\n };\n\n\n /**\n * Updates the quad and its properties.\n * @method update\n */\n\n Component_Quad.prototype.update = function() {\n var ref;\n Component_Quad.__super__.update.apply(this, arguments);\n if (!this.isSetup) {\n this.setup();\n }\n this.object.rIndex = this.quad.index;\n this.quad.rect.set(this.object.dstRect.x, this.object.dstRect.y, this.object.dstRect.width, this.object.dstRect.height);\n this.quad.visible = this.object.visible;\n this.quad.ox = -this.object.origin.x;\n this.quad.oy = -this.object.origin.y;\n this.quad.z = (this.object.zIndex || 0) + (!this.object.parent ? 0 : this.object.parent.zIndex || 0);\n this.quad.color = this.object.color || Colors.TRANSPARENT;\n this.quad.opacity = (ref = this.object.opacity) != null ? ref : 255;\n return this.quad.clipRect = this.object.clipRect;\n };\n\n return Component_Quad;\n\n})(gs.Component_Visual);\n\ngs.Component_Quad = Component_Quad;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsY0FBQTtFQUFBOzs7QUFBTTs7OztBQUNGOzs7Ozs7Ozs7MkJBUUEsbUJBQUEsR0FBcUIsU0FBQyxJQUFELEVBQU8sT0FBUDtXQUNqQixJQUFDLENBQUEsa0JBQUQsQ0FBQTtFQURpQjs7O0FBR3JCOzs7Ozs7Ozs7OztFQVVhLHdCQUFBO0lBQ1QsaURBQUEsU0FBQTs7QUFFQTs7Ozs7O0lBTUEsSUFBQyxDQUFBLElBQUQsR0FBUTtFQVRDOzs7QUFXYjs7Ozs7MkJBSUEsT0FBQSxHQUFTLFNBQUE7V0FBRyxJQUFDLENBQUEsSUFBSSxDQUFDLE9BQU4sQ0FBQTtFQUFIOzs7QUFFVDs7Ozs7OzJCQUtBLGtCQUFBLEdBQW9CLFNBQUE7V0FDaEIsSUFBQyxDQUFBLElBQUksQ0FBQyxhQUFOLEdBQXNCLENBQUEsU0FBQSxLQUFBO2FBQUEsU0FBQTtlQUNsQixLQUFDLENBQUEsTUFBTSxDQUFDLE1BQVIsR0FBaUIsS0FBQyxDQUFBLElBQUksQ0FBQztNQURMO0lBQUEsQ0FBQSxDQUFBLENBQUEsSUFBQTtFQUROOzs7QUFJcEI7Ozs7OzJCQUlBLEtBQUEsR0FBTyxTQUFBO0lBQ0gsSUFBQyxDQUFBLE9BQUQsR0FBVztJQUNYLElBQUMsQ0FBQSxJQUFELEdBQVksSUFBQSxFQUFFLENBQUMsSUFBSCxDQUFRLFFBQVEsQ0FBQyxRQUFqQjtJQUNaLElBQUMsQ0FBQSxrQkFBRCxDQUFBO1dBQ0EsSUFBQyxDQUFBLE1BQUQsQ0FBQTtFQUpHOzs7QUFNUDs7Ozs7MkJBSUEsTUFBQSxHQUFRLFNBQUE7QUFDSixRQUFBO0lBQUEsNENBQUEsU0FBQTtJQUVBLElBQVksQ0FBSSxJQUFDLENBQUEsT0FBakI7TUFBQSxJQUFDLENBQUEsS0FBRCxDQUFBLEVBQUE7O0lBQ0EsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFSLEdBQWlCLElBQUMsQ0FBQSxJQUFJLENBQUM7SUFDdkIsSUFBQyxDQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBWCxDQUFlLElBQUMsQ0FBQSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQS9CLEVBQWtDLElBQUMsQ0FBQSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQWxELEVBQXFELElBQUMsQ0FBQSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQXJFLEVBQTRFLElBQUMsQ0FBQSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQTVGO0lBQ0EsSUFBQyxDQUFBLElBQUksQ0FBQyxPQUFOLEdBQWdCLElBQUMsQ0FBQSxNQUFNLENBQUM7SUFDeEIsSUFBQyxDQUFBLElBQUksQ0FBQyxFQUFOLEdBQVcsQ0FBQyxJQUFDLENBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUMzQixJQUFDLENBQUEsSUFBSSxDQUFDLEVBQU4sR0FBVyxDQUFDLElBQUMsQ0FBQSxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzNCLElBQUMsQ0FBQSxJQUFJLENBQUMsQ0FBTixHQUFVLENBQUMsSUFBQyxDQUFBLE1BQU0sQ0FBQyxNQUFSLElBQWtCLENBQW5CLENBQUEsR0FBd0IsQ0FBSSxDQUFDLElBQUMsQ0FBQSxNQUFNLENBQUMsTUFBWixHQUF3QixDQUF4QixHQUErQixJQUFDLENBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFmLElBQXlCLENBQXpEO0lBQ2xDLElBQUMsQ0FBQSxJQUFJLENBQUMsS0FBTixHQUFjLElBQUMsQ0FBQSxNQUFNLENBQUMsS0FBUixJQUFpQixNQUFNLENBQUM7SUFDdEMsSUFBQyxDQUFBLElBQUksQ0FBQyxPQUFOLCtDQUFrQztXQUNsQyxJQUFDLENBQUEsSUFBSSxDQUFDLFFBQU4sR0FBaUIsSUFBQyxDQUFBLE1BQU0sQ0FBQztFQVpyQjs7OztHQTlEaUIsRUFBRSxDQUFDOztBQTRFaEMsRUFBRSxDQUFDLGNBQUgsR0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiNcbiMgICBTY3JpcHQ6IENvbXBvbmVudF9RdWFkXG4jXG4jICAgJCRDT1BZUklHSFQkJFxuI1xuIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5jbGFzcyBDb21wb25lbnRfUXVhZCBleHRlbmRzIGdzLkNvbXBvbmVudF9WaXN1YWxcbiAgICAjIyMqXG4gICAgKiBDYWxsZWQgaWYgdGhpcyBvYmplY3QgaW5zdGFuY2UgaXMgcmVzdG9yZWQgZnJvbSBhIGRhdGEtYnVuZGxlLiBJdCBjYW4gYmUgdXNlZFxuICAgICogcmUtYXNzaWduIGV2ZW50LWhhbmRsZXIsIGFub255bW91cyBmdW5jdGlvbnMsIGV0Yy5cbiAgICAqIFxuICAgICogQG1ldGhvZCBvbkRhdGFCdW5kbGVSZXN0b3JlLlxuICAgICogQHBhcmFtIE9iamVjdCBkYXRhIC0gVGhlIGRhdGEtYnVuZGxlXG4gICAgKiBAcGFyYW0gZ3MuT2JqZWN0Q29kZWNDb250ZXh0IGNvbnRleHQgLSBUaGUgY29kZWMtY29udGV4dC5cbiAgICAjIyNcbiAgICBvbkRhdGFCdW5kbGVSZXN0b3JlOiAoZGF0YSwgY29udGV4dCkgLT5cbiAgICAgICAgQHNldHVwRXZlbnRIYW5kbGVycygpXG4gICAgICAgIFxuICAgICMjIypcbiAgICAqIEEgcXVhZCBjb21wb25lbnQgZGlzcGxheXMgcmVjdGFuZ2xlIG9uIHRoZSBzY3JlZW4gdXNpbmcgdGhlIGNvbG9yXG4gICAgKiBvZiB0aGUgZ2FtZSBvYmplY3QuXG4gICAgKlxuICAgICogQG1vZHVsZSBnc1xuICAgICogQGNsYXNzIENvbXBvbmVudF9RdWFkXG4gICAgKiBAZXh0ZW5kcyBncy5Db21wb25lbnRcbiAgICAqIEBtZW1iZXJvZiBnc1xuICAgICogQGNvbnN0cnVjdG9yXG4gICAgIyMjXG4gICAgY29uc3RydWN0b3I6IC0+XG4gICAgICAgIHN1cGVyXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogVGhlIG5hdGl2ZSBxdWFkLW9iamVjdCB0byBkaXNwbGF5IGEgY29sb3JlZCByZWN0YW5nbGUgb24gc2NyZWVuLlxuICAgICAgICAqIEBwcm9wZXJ0eSBxdWFkXG4gICAgICAgICogQHR5cGUgZ3MuUXVhZFxuICAgICAgICAqIEBwcm90ZWN0ZWRcbiAgICAgICAgIyMjXG4gICAgICAgIEBxdWFkID0gbnVsbCBcbiAgICAgICAgXG4gICAgIyMjKlxuICAgICogRGlzcG9zZXMgdGhlIHF1YWQuXG4gICAgKiBAbWV0aG9kIGRpc3Bvc2VcbiAgICAjIyNcbiAgICBkaXNwb3NlOiAtPiBAcXVhZC5kaXNwb3NlKClcbiAgICBcbiAgICAjIyMqXG4gICAgKiBBZGRzIGV2ZW50LWhhbmRsZXJzIGZvciBtb3VzZS90b3VjaCBldmVudHNcbiAgICAqXG4gICAgKiBAbWV0aG9kIHNldHVwRXZlbnRIYW5kbGVyc1xuICAgICMjIyBcbiAgICBzZXR1cEV2ZW50SGFuZGxlcnM6IC0+XG4gICAgICAgIEBxdWFkLm9uSW5kZXhDaGFuZ2UgPSA9PlxuICAgICAgICAgICAgQG9iamVjdC5ySW5kZXggPSBAcXVhZC5pbmRleFxuICAgICAgICAgICAgXG4gICAgIyMjKlxuICAgICogU2V0cyB1cCB0aGUgcXVhZC5cbiAgICAqIEBtZXRob2Qgc2V0dXBcbiAgICAjIyNcbiAgICBzZXR1cDogLT5cbiAgICAgICAgQGlzU2V0dXAgPSB5ZXNcbiAgICAgICAgQHF1YWQgPSBuZXcgZ3MuUXVhZChHcmFwaGljcy52aWV3cG9ydClcbiAgICAgICAgQHNldHVwRXZlbnRIYW5kbGVycygpXG4gICAgICAgIEB1cGRhdGUoKVxuICAgIFxuICAgICMjIypcbiAgICAqIFVwZGF0ZXMgdGhlIHF1YWQgYW5kIGl0cyBwcm9wZXJ0aWVzLlxuICAgICogQG1ldGhvZCB1cGRhdGVcbiAgICAjIyNcbiAgICB1cGRhdGU6IC0+XG4gICAgICAgIHN1cGVyXG4gICAgICAgIFxuICAgICAgICBAc2V0dXAoKSBpZiBub3QgQGlzU2V0dXBcbiAgICAgICAgQG9iamVjdC5ySW5kZXggPSBAcXVhZC5pbmRleFxuICAgICAgICBAcXVhZC5yZWN0LnNldChAb2JqZWN0LmRzdFJlY3QueCwgQG9iamVjdC5kc3RSZWN0LnksIEBvYmplY3QuZHN0UmVjdC53aWR0aCwgQG9iamVjdC5kc3RSZWN0LmhlaWdodClcbiAgICAgICAgQHF1YWQudmlzaWJsZSA9IEBvYmplY3QudmlzaWJsZVxuICAgICAgICBAcXVhZC5veCA9IC1Ab2JqZWN0Lm9yaWdpbi54XG4gICAgICAgIEBxdWFkLm95ID0gLUBvYmplY3Qub3JpZ2luLnlcbiAgICAgICAgQHF1YWQueiA9IChAb2JqZWN0LnpJbmRleCB8fCAwKSArIChpZiAhQG9iamVjdC5wYXJlbnQgdGhlbiAwIGVsc2UgQG9iamVjdC5wYXJlbnQuekluZGV4IHx8IDApXG4gICAgICAgIEBxdWFkLmNvbG9yID0gQG9iamVjdC5jb2xvciB8fCBDb2xvcnMuVFJBTlNQQVJFTlRcbiAgICAgICAgQHF1YWQub3BhY2l0eSA9IEBvYmplY3Qub3BhY2l0eSA/IDI1NVxuICAgICAgICBAcXVhZC5jbGlwUmVjdCA9IEBvYmplY3QuY2xpcFJlY3RcblxuZ3MuQ29tcG9uZW50X1F1YWQgPSBDb21wb25lbnRfUXVhZCJdfQ==\n//# sourceURL=Component_Quad_72.js"
},
"summary": [
"name",
"type",
"order"
]
}
|