1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
{
"uid": "BAAD9EB6K1D65A44C2SA52AE7543F7A0B82F",
"isLoaded": true,
"lastModificationTime": 0,
"items": {
"name": "UIElementRectangle",
"type": "game_script",
"order": 4,
"content": "# ===================================================================\n#\n# Script: UIElementRectangle\n#\n# $$COPYRIGHT$$\n#\n# ===================================================================\nclass UIElementRectangle extends Rect\n ###*\n * An ui rectangle is like a regular gs.Rect rectangle but if one of the\n * rectangle's coordinates is changed the <b>needsUpdate</b> property of the\n * assigned game object will be set to <b>true</b> to trigger a refresh.\n *\n * @module ui\n * @class UIElementRectangle\n * @extends gs.Rect\n * @memberof ui\n * @constructor\n * @params {Object} object - The UI object the rectangle belongs to.\n ###\n constructor: (object) ->\n ###*\n * The UI object the rectangle belongs to.\n * @property object\n * @type gs.Object_UIElement\n ###\n @object = object ? {}\n \n ###*\n * The x-coordinate of the rectangle.\n * @property x\n * @type number\n ###\n @x = 0\n \n ###*\n * The y-coordinate of the rectangle.\n * @property y\n * @type number\n ###\n @y = 0\n \n ###*\n * The width of the rectangle.\n * @property width\n * @type number\n ###\n @width = 1\n \n ###*\n * The height of the rectangle.\n * @property height\n * @type number\n ###\n @height = 1\n \n @accessors \"x\", \n set: (x) ->\n if x != @x_\n @x_ = x\n @object.needsUpdate = yes\n get: -> @x_\n \n @accessors \"y\", \n set: (y) ->\n if y != @y_\n @y_ = y\n @object.needsUpdate = yes\n get: -> @y_\n \n @accessors \"width\", \n set: (width) ->\n if width != @width_\n @width_ = width\n @object.needsUpdate = yes\n get: -> @width_\n \n @accessors \"height\", \n set: (height) ->\n if height != @height_\n @height_ = height\n @object.needsUpdate = yes\n get: -> @height_\n \n toRect: -> new gs.Rect(@x, @y, @width, @height)\n \n @fromRect: (object, rect) ->\n result = new ui.UIElementRectangle(object)\n result.x = rect.x\n result.y = rect.y\n result.width = rect.width\n result.height = rect.height\n return result\n \n \n \nui.UIElementRectangle = UIElementRectangle",
"parentId": "2EC9F946K6417A4973S8308E368608E89B8B",
"folder": false,
"compiledContent": "var UIElementRectangle,\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\nUIElementRectangle = (function(superClass) {\n extend(UIElementRectangle, superClass);\n\n\n /**\n * An ui rectangle is like a regular gs.Rect rectangle but if one of the\n * rectangle's coordinates is changed the <b>needsUpdate</b> property of the\n * assigned game object will be set to <b>true</b> to trigger a refresh.\n *\n * @module ui\n * @class UIElementRectangle\n * @extends gs.Rect\n * @memberof ui\n * @constructor\n * @params {Object} object - The UI object the rectangle belongs to.\n */\n\n function UIElementRectangle(object) {\n\n /**\n * The UI object the rectangle belongs to.\n * @property object\n * @type gs.Object_UIElement\n */\n this.object = object != null ? object : {};\n\n /**\n * The x-coordinate of the rectangle.\n * @property x\n * @type number\n */\n this.x = 0;\n\n /**\n * The y-coordinate of the rectangle.\n * @property y\n * @type number\n */\n this.y = 0;\n\n /**\n * The width of the rectangle.\n * @property width\n * @type number\n */\n this.width = 1;\n\n /**\n * The height of the rectangle.\n * @property height\n * @type number\n */\n this.height = 1;\n }\n\n UIElementRectangle.accessors(\"x\", {\n set: function(x) {\n if (x !== this.x_) {\n this.x_ = x;\n return this.object.needsUpdate = true;\n }\n },\n get: function() {\n return this.x_;\n }\n });\n\n UIElementRectangle.accessors(\"y\", {\n set: function(y) {\n if (y !== this.y_) {\n this.y_ = y;\n return this.object.needsUpdate = true;\n }\n },\n get: function() {\n return this.y_;\n }\n });\n\n UIElementRectangle.accessors(\"width\", {\n set: function(width) {\n if (width !== this.width_) {\n this.width_ = width;\n return this.object.needsUpdate = true;\n }\n },\n get: function() {\n return this.width_;\n }\n });\n\n UIElementRectangle.accessors(\"height\", {\n set: function(height) {\n if (height !== this.height_) {\n this.height_ = height;\n return this.object.needsUpdate = true;\n }\n },\n get: function() {\n return this.height_;\n }\n });\n\n UIElementRectangle.prototype.toRect = function() {\n return new gs.Rect(this.x, this.y, this.width, this.height);\n };\n\n UIElementRectangle.fromRect = function(object, rect) {\n var result;\n result = new ui.UIElementRectangle(object);\n result.x = rect.x;\n result.y = rect.y;\n result.width = rect.width;\n result.height = rect.height;\n return result;\n };\n\n return UIElementRectangle;\n\n})(Rect);\n\nui.UIElementRectangle = UIElementRectangle;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsa0JBQUE7RUFBQTs7O0FBQU07Ozs7QUFDRjs7Ozs7Ozs7Ozs7OztFQVlhLDRCQUFDLE1BQUQ7O0FBQ1Q7Ozs7O0lBS0EsSUFBQyxDQUFBLE1BQUQsb0JBQVUsU0FBUzs7QUFFbkI7Ozs7O0lBS0EsSUFBQyxDQUFBLENBQUQsR0FBSzs7QUFFTDs7Ozs7SUFLQSxJQUFDLENBQUEsQ0FBRCxHQUFLOztBQUVMOzs7OztJQUtBLElBQUMsQ0FBQSxLQUFELEdBQVM7O0FBRVQ7Ozs7O0lBS0EsSUFBQyxDQUFBLE1BQUQsR0FBVTtFQWxDRDs7RUFvQ2Isa0JBQUMsQ0FBQSxTQUFELENBQVcsR0FBWCxFQUNJO0lBQUEsR0FBQSxFQUFLLFNBQUMsQ0FBRDtNQUNELElBQUcsQ0FBQSxLQUFLLElBQUMsQ0FBQSxFQUFUO1FBQ0ksSUFBQyxDQUFBLEVBQUQsR0FBTTtlQUNOLElBQUMsQ0FBQSxNQUFNLENBQUMsV0FBUixHQUFzQixLQUYxQjs7SUFEQyxDQUFMO0lBSUEsR0FBQSxFQUFLLFNBQUE7YUFBRyxJQUFDLENBQUE7SUFBSixDQUpMO0dBREo7O0VBT0Esa0JBQUMsQ0FBQSxTQUFELENBQVcsR0FBWCxFQUNJO0lBQUEsR0FBQSxFQUFLLFNBQUMsQ0FBRDtNQUNELElBQUcsQ0FBQSxLQUFLLElBQUMsQ0FBQSxFQUFUO1FBQ0ksSUFBQyxDQUFBLEVBQUQsR0FBTTtlQUNOLElBQUMsQ0FBQSxNQUFNLENBQUMsV0FBUixHQUFzQixLQUYxQjs7SUFEQyxDQUFMO0lBSUEsR0FBQSxFQUFLLFNBQUE7YUFBRyxJQUFDLENBQUE7SUFBSixDQUpMO0dBREo7O0VBT0Esa0JBQUMsQ0FBQSxTQUFELENBQVcsT0FBWCxFQUNJO0lBQUEsR0FBQSxFQUFLLFNBQUMsS0FBRDtNQUNELElBQUcsS0FBQSxLQUFTLElBQUMsQ0FBQSxNQUFiO1FBQ0ksSUFBQyxDQUFBLE1BQUQsR0FBVTtlQUNWLElBQUMsQ0FBQSxNQUFNLENBQUMsV0FBUixHQUFzQixLQUYxQjs7SUFEQyxDQUFMO0lBSUEsR0FBQSxFQUFLLFNBQUE7YUFBRyxJQUFDLENBQUE7SUFBSixDQUpMO0dBREo7O0VBT0Esa0JBQUMsQ0FBQSxTQUFELENBQVcsUUFBWCxFQUNJO0lBQUEsR0FBQSxFQUFLLFNBQUMsTUFBRDtNQUNELElBQUcsTUFBQSxLQUFVLElBQUMsQ0FBQSxPQUFkO1FBQ0ksSUFBQyxDQUFBLE9BQUQsR0FBVztlQUNYLElBQUMsQ0FBQSxNQUFNLENBQUMsV0FBUixHQUFzQixLQUYxQjs7SUFEQyxDQUFMO0lBSUEsR0FBQSxFQUFLLFNBQUE7YUFBRyxJQUFDLENBQUE7SUFBSixDQUpMO0dBREo7OytCQU9BLE1BQUEsR0FBUSxTQUFBO1dBQU8sSUFBQSxFQUFFLENBQUMsSUFBSCxDQUFRLElBQUMsQ0FBQSxDQUFULEVBQVksSUFBQyxDQUFBLENBQWIsRUFBZ0IsSUFBQyxDQUFBLEtBQWpCLEVBQXdCLElBQUMsQ0FBQSxNQUF6QjtFQUFQOztFQUVSLGtCQUFDLENBQUEsUUFBRCxHQUFXLFNBQUMsTUFBRCxFQUFTLElBQVQ7QUFDUCxRQUFBO0lBQUEsTUFBQSxHQUFhLElBQUEsRUFBRSxDQUFDLGtCQUFILENBQXNCLE1BQXRCO0lBQ2IsTUFBTSxDQUFDLENBQVAsR0FBVyxJQUFJLENBQUM7SUFDaEIsTUFBTSxDQUFDLENBQVAsR0FBVyxJQUFJLENBQUM7SUFDaEIsTUFBTSxDQUFDLEtBQVAsR0FBZSxJQUFJLENBQUM7SUFDcEIsTUFBTSxDQUFDLE1BQVAsR0FBZ0IsSUFBSSxDQUFDO0FBQ3JCLFdBQU87RUFOQTs7OztHQS9Fa0I7O0FBeUZqQyxFQUFFLENBQUMsa0JBQUgsR0FBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIjID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiNcbiMgICBTY3JpcHQ6IFVJRWxlbWVudFJlY3RhbmdsZVxuI1xuIyAgICQkQ09QWVJJR0hUJCRcbiNcbiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuY2xhc3MgVUlFbGVtZW50UmVjdGFuZ2xlIGV4dGVuZHMgUmVjdFxuICAgICMjIypcbiAgICAqIEFuIHVpIHJlY3RhbmdsZSBpcyBsaWtlIGEgcmVndWxhciBncy5SZWN0IHJlY3RhbmdsZSBidXQgaWYgb25lIG9mIHRoZVxuICAgICogcmVjdGFuZ2xlJ3MgY29vcmRpbmF0ZXMgaXMgY2hhbmdlZCB0aGUgPGI+bmVlZHNVcGRhdGU8L2I+IHByb3BlcnR5IG9mIHRoZVxuICAgICogYXNzaWduZWQgZ2FtZSBvYmplY3Qgd2lsbCBiZSBzZXQgdG8gPGI+dHJ1ZTwvYj4gdG8gdHJpZ2dlciBhIHJlZnJlc2guXG4gICAgKlxuICAgICogQG1vZHVsZSB1aVxuICAgICogQGNsYXNzIFVJRWxlbWVudFJlY3RhbmdsZVxuICAgICogQGV4dGVuZHMgZ3MuUmVjdFxuICAgICogQG1lbWJlcm9mIHVpXG4gICAgKiBAY29uc3RydWN0b3JcbiAgICAqIEBwYXJhbXMge09iamVjdH0gb2JqZWN0IC0gVGhlIFVJIG9iamVjdCB0aGUgcmVjdGFuZ2xlIGJlbG9uZ3MgdG8uXG4gICAgIyMjXG4gICAgY29uc3RydWN0b3I6IChvYmplY3QpIC0+XG4gICAgICAgICMjIypcbiAgICAgICAgKiBUaGUgVUkgb2JqZWN0IHRoZSByZWN0YW5nbGUgYmVsb25ncyB0by5cbiAgICAgICAgKiBAcHJvcGVydHkgb2JqZWN0XG4gICAgICAgICogQHR5cGUgZ3MuT2JqZWN0X1VJRWxlbWVudFxuICAgICAgICAjIyNcbiAgICAgICAgQG9iamVjdCA9IG9iamVjdCA/IHt9XG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogVGhlIHgtY29vcmRpbmF0ZSBvZiB0aGUgcmVjdGFuZ2xlLlxuICAgICAgICAqIEBwcm9wZXJ0eSB4XG4gICAgICAgICogQHR5cGUgbnVtYmVyXG4gICAgICAgICMjI1xuICAgICAgICBAeCA9IDBcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBUaGUgeS1jb29yZGluYXRlIG9mIHRoZSByZWN0YW5nbGUuXG4gICAgICAgICogQHByb3BlcnR5IHlcbiAgICAgICAgKiBAdHlwZSBudW1iZXJcbiAgICAgICAgIyMjXG4gICAgICAgIEB5ID0gMFxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIFRoZSB3aWR0aCBvZiB0aGUgcmVjdGFuZ2xlLlxuICAgICAgICAqIEBwcm9wZXJ0eSB3aWR0aFxuICAgICAgICAqIEB0eXBlIG51bWJlclxuICAgICAgICAjIyNcbiAgICAgICAgQHdpZHRoID0gMVxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIFRoZSBoZWlnaHQgb2YgdGhlIHJlY3RhbmdsZS5cbiAgICAgICAgKiBAcHJvcGVydHkgaGVpZ2h0XG4gICAgICAgICogQHR5cGUgbnVtYmVyXG4gICAgICAgICMjI1xuICAgICAgICBAaGVpZ2h0ID0gMVxuICAgIFxuICAgIEBhY2Nlc3NvcnMgXCJ4XCIsIFxuICAgICAgICBzZXQ6ICh4KSAtPlxuICAgICAgICAgICAgaWYgeCAhPSBAeF9cbiAgICAgICAgICAgICAgICBAeF8gPSB4XG4gICAgICAgICAgICAgICAgQG9iamVjdC5uZWVkc1VwZGF0ZSA9IHllc1xuICAgICAgICBnZXQ6IC0+IEB4X1xuICAgICAgICBcbiAgICBAYWNjZXNzb3JzIFwieVwiLCBcbiAgICAgICAgc2V0OiAoeSkgLT5cbiAgICAgICAgICAgIGlmIHkgIT0gQHlfXG4gICAgICAgICAgICAgICAgQHlfID0geVxuICAgICAgICAgICAgICAgIEBvYmplY3QubmVlZHNVcGRhdGUgPSB5ZXNcbiAgICAgICAgZ2V0OiAtPiBAeV9cbiAgICAgICAgXG4gICAgQGFjY2Vzc29ycyBcIndpZHRoXCIsIFxuICAgICAgICBzZXQ6ICh3aWR0aCkgLT5cbiAgICAgICAgICAgIGlmIHdpZHRoICE9IEB3aWR0aF9cbiAgICAgICAgICAgICAgICBAd2lkdGhfID0gd2lkdGhcbiAgICAgICAgICAgICAgICBAb2JqZWN0Lm5lZWRzVXBkYXRlID0geWVzXG4gICAgICAgIGdldDogLT4gQHdpZHRoX1xuICAgIFxuICAgIEBhY2Nlc3NvcnMgXCJoZWlnaHRcIiwgXG4gICAgICAgIHNldDogKGhlaWdodCkgLT5cbiAgICAgICAgICAgIGlmIGhlaWdodCAhPSBAaGVpZ2h0X1xuICAgICAgICAgICAgICAgIEBoZWlnaHRfID0gaGVpZ2h0XG4gICAgICAgICAgICAgICAgQG9iamVjdC5uZWVkc1VwZGF0ZSA9IHllc1xuICAgICAgICBnZXQ6IC0+IEBoZWlnaHRfXG4gICAgICAgIFxuICAgIHRvUmVjdDogLT4gbmV3IGdzLlJlY3QoQHgsIEB5LCBAd2lkdGgsIEBoZWlnaHQpXG4gICAgICAgIFxuICAgIEBmcm9tUmVjdDogKG9iamVjdCwgcmVjdCkgLT5cbiAgICAgICAgcmVzdWx0ID0gbmV3IHVpLlVJRWxlbWVudFJlY3RhbmdsZShvYmplY3QpXG4gICAgICAgIHJlc3VsdC54ID0gcmVjdC54XG4gICAgICAgIHJlc3VsdC55ID0gcmVjdC55XG4gICAgICAgIHJlc3VsdC53aWR0aCA9IHJlY3Qud2lkdGhcbiAgICAgICAgcmVzdWx0LmhlaWdodCA9IHJlY3QuaGVpZ2h0XG4gICAgICAgIHJldHVybiByZXN1bHRcbiAgICAgICAgXG4gICAgXG4gICAgICAgXG51aS5VSUVsZW1lbnRSZWN0YW5nbGUgPSBVSUVsZW1lbnRSZWN0YW5nbGUiXX0=\n//# sourceURL=UIElementRectangle_60.js"
},
"summary": [
"name",
"type"
]
}
|