

Nextrek
@ 1348
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
{ "uid": "ECF00B441300864C6059B990EDE620CE8CA1", "isLoaded": true, "lastModificationTime": 0, "items": { "name": "Component_FormulaHandler", "type": "game_script", "order": 10, "content": "# ===================================================================\n#\n# Script: Component_FormulaHandler\n#\n# $$COPYRIGHT$$\n#\n# ===================================================================\nclass Component_FormulaHandler extends ui.Component_Handler\n ###*\n * A formula-handler component allows a UI game object to execute\n * formulas.<br><br>\n *\n * For more information, take a look\n * into the \"In Game UI System\" section of the help-file.\n * \n * @module ui\n * @class Component_BindingHandler\n * @extends ui.Component_Handler\n * @memberof ui\n * @constructor\n ###\n constructor: () ->\n @breakChainAt = null\n \n ###*\n * Initializes the binding-handler.\n * \n * @method setup\n ###\n setup: ->\n @object.events.on \"uiPrepareFinish\", ((e) =>\n for formula in @object.formulas\n if formula.events.contains(\"uiPrepareFinish\")\n window.o = @object\n window.d = @object.data[0]\n formula.exec()\n )\n \n ###*\n * Updates the binding-handler.\n * \n * @method update\n ### \n update: ->\n for formula in @object.formulas\n @executeFormula(formula)\n \n @object.initialized = yes\n \n return null\n \n executeFormula: (formula) -> \n if @checkObject(formula)\n window.o = @object\n window.d = @object.data[0]\n formula.exec()\n \n @executeFormula: (object, formula) ->\n window.o = object\n window.d = object.data[0]\n formula.exec()\n \n ###*\n * Evaluates a specified property-path and returns the result.\n * \n * @method fieldValue\n * @param {string} path - A property-path.\n * @return {Object} The value of the property-path.\n ### \n fieldValue: (path) -> ui.FormulaHandler.fieldValue(@object, path) \n \n ###*\n * Evaluates a property-path on a specified object and returns the result.\n * \n * @method fieldValue\n * @static\n * @param {Object} object - An object to evaluate the property-path on.\n * @param {string} path - A property-path.\n * @return {Object} The value of the property-path.\n ### \n @fieldValue: (object, path, readOnly) ->\n if typeof (path?.exec) == \"function\"\n window.o = object\n window.d = object?.data?[0]\n value = path.exec()\n \n return value ? 0\n else\n return path\n \nui.Component_FormulaHandler = Component_FormulaHandler", "parentId": "01A95DA3K01E8A4CB4SBE17E790BCE1FC035", "folder": false, "compiledContent": "var Component_FormulaHandler,\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_FormulaHandler = (function(superClass) {\n extend(Component_FormulaHandler, superClass);\n\n\n /**\n * A formula-handler component allows a UI game object to execute\n * formulas.<br><br>\n *\n * For more information, take a look\n * into the \"In Game UI System\" section of the help-file.\n * \n * @module ui\n * @class Component_BindingHandler\n * @extends ui.Component_Handler\n * @memberof ui\n * @constructor\n */\n\n function Component_FormulaHandler() {\n this.breakChainAt = null;\n }\n\n\n /**\n * Initializes the binding-handler.\n * \n * @method setup\n */\n\n Component_FormulaHandler.prototype.setup = function() {\n return this.object.events.on(\"uiPrepareFinish\", ((function(_this) {\n return function(e) {\n var formula, i, len, ref, results;\n ref = _this.object.formulas;\n results = [];\n for (i = 0, len = ref.length; i < len; i++) {\n formula = ref[i];\n if (formula.events.contains(\"uiPrepareFinish\")) {\n window.o = _this.object;\n window.d = _this.object.data[0];\n results.push(formula.exec());\n } else {\n results.push(void 0);\n }\n }\n return results;\n };\n })(this)));\n };\n\n\n /**\n * Updates the binding-handler.\n * \n * @method update\n */\n\n Component_FormulaHandler.prototype.update = function() {\n var formula, i, len, ref;\n ref = this.object.formulas;\n for (i = 0, len = ref.length; i < len; i++) {\n formula = ref[i];\n this.executeFormula(formula);\n }\n this.object.initialized = true;\n return null;\n };\n\n Component_FormulaHandler.prototype.executeFormula = function(formula) {\n if (this.checkObject(formula)) {\n window.o = this.object;\n window.d = this.object.data[0];\n return formula.exec();\n }\n };\n\n Component_FormulaHandler.executeFormula = function(object, formula) {\n window.o = object;\n window.d = object.data[0];\n return formula.exec();\n };\n\n\n /**\n * Evaluates a specified property-path and returns the result.\n * \n * @method fieldValue\n * @param {string} path - A property-path.\n * @return {Object} The value of the property-path.\n */\n\n Component_FormulaHandler.prototype.fieldValue = function(path) {\n return ui.FormulaHandler.fieldValue(this.object, path);\n };\n\n\n /**\n * Evaluates a property-path on a specified object and returns the result.\n * \n * @method fieldValue\n * @static\n * @param {Object} object - An object to evaluate the property-path on.\n * @param {string} path - A property-path.\n * @return {Object} The value of the property-path.\n */\n\n Component_FormulaHandler.fieldValue = function(object, path, readOnly) {\n var ref, value;\n if (typeof (path != null ? path.exec : void 0) === \"function\") {\n window.o = object;\n window.d = object != null ? (ref = object.data) != null ? ref[0] : void 0 : void 0;\n value = path.exec();\n return value != null ? value : 0;\n } else {\n return path;\n }\n };\n\n return Component_FormulaHandler;\n\n})(ui.Component_Handler);\n\nui.Component_FormulaHandler = Component_FormulaHandler;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsd0JBQUE7RUFBQTs7O0FBQU07Ozs7QUFDRjs7Ozs7Ozs7Ozs7Ozs7RUFhYSxrQ0FBQTtJQUNULElBQUMsQ0FBQSxZQUFELEdBQWdCO0VBRFA7OztBQUdiOzs7Ozs7cUNBS0EsS0FBQSxHQUFPLFNBQUE7V0FDSCxJQUFDLENBQUEsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFmLENBQWtCLGlCQUFsQixFQUFxQyxDQUFDLENBQUEsU0FBQSxLQUFBO2FBQUEsU0FBQyxDQUFEO0FBQ2xDLFlBQUE7QUFBQTtBQUFBO2FBQUEscUNBQUE7O1VBQ0ksSUFBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQWYsQ0FBd0IsaUJBQXhCLENBQUg7WUFDSSxNQUFNLENBQUMsQ0FBUCxHQUFXLEtBQUMsQ0FBQTtZQUNaLE1BQU0sQ0FBQyxDQUFQLEdBQVcsS0FBQyxDQUFBLE1BQU0sQ0FBQyxJQUFLLENBQUEsQ0FBQTt5QkFDeEIsT0FBTyxDQUFDLElBQVIsQ0FBQSxHQUhKO1dBQUEsTUFBQTtpQ0FBQTs7QUFESjs7TUFEa0M7SUFBQSxDQUFBLENBQUEsQ0FBQSxJQUFBLENBQUQsQ0FBckM7RUFERzs7O0FBU1A7Ozs7OztxQ0FLQSxNQUFBLEdBQVEsU0FBQTtBQUNKLFFBQUE7QUFBQTtBQUFBLFNBQUEscUNBQUE7O01BQ0ksSUFBQyxDQUFBLGNBQUQsQ0FBZ0IsT0FBaEI7QUFESjtJQUdBLElBQUMsQ0FBQSxNQUFNLENBQUMsV0FBUixHQUFzQjtBQUV0QixXQUFPO0VBTkg7O3FDQVFSLGNBQUEsR0FBZ0IsU0FBQyxPQUFEO0lBQ1osSUFBRyxJQUFDLENBQUEsV0FBRCxDQUFhLE9BQWIsQ0FBSDtNQUNJLE1BQU0sQ0FBQyxDQUFQLEdBQVcsSUFBQyxDQUFBO01BQ1osTUFBTSxDQUFDLENBQVAsR0FBVyxJQUFDLENBQUEsTUFBTSxDQUFDLElBQUssQ0FBQSxDQUFBO2FBQ3hCLE9BQU8sQ0FBQyxJQUFSLENBQUEsRUFISjs7RUFEWTs7RUFNaEIsd0JBQUMsQ0FBQSxjQUFELEdBQWlCLFNBQUMsTUFBRCxFQUFTLE9BQVQ7SUFDYixNQUFNLENBQUMsQ0FBUCxHQUFXO0lBQ1gsTUFBTSxDQUFDLENBQVAsR0FBVyxNQUFNLENBQUMsSUFBSyxDQUFBLENBQUE7V0FDdkIsT0FBTyxDQUFDLElBQVIsQ0FBQTtFQUhhOzs7QUFLakI7Ozs7Ozs7O3FDQU9BLFVBQUEsR0FBWSxTQUFDLElBQUQ7V0FBVSxFQUFFLENBQUMsY0FBYyxDQUFDLFVBQWxCLENBQTZCLElBQUMsQ0FBQSxNQUE5QixFQUFzQyxJQUF0QztFQUFWOzs7QUFFWjs7Ozs7Ozs7OztFQVNBLHdCQUFDLENBQUEsVUFBRCxHQUFhLFNBQUMsTUFBRCxFQUFTLElBQVQsRUFBZSxRQUFmO0FBQ1QsUUFBQTtJQUFBLElBQUcsT0FBTyxnQkFBQyxJQUFJLENBQUUsYUFBUCxDQUFQLEtBQXVCLFVBQTFCO01BQ0ksTUFBTSxDQUFDLENBQVAsR0FBVztNQUNYLE1BQU0sQ0FBQyxDQUFQLHFEQUF5QixDQUFBLENBQUE7TUFDekIsS0FBQSxHQUFRLElBQUksQ0FBQyxJQUFMLENBQUE7QUFFUiw2QkFBTyxRQUFRLEVBTG5CO0tBQUEsTUFBQTtBQU9JLGFBQU8sS0FQWDs7RUFEUzs7OztHQXpFc0IsRUFBRSxDQUFDOztBQW1GMUMsRUFBRSxDQUFDLHdCQUFILEdBQThCIiwic291cmNlc0NvbnRlbnQiOlsiIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4jXG4jICAgU2NyaXB0OiBDb21wb25lbnRfRm9ybXVsYUhhbmRsZXJcbiNcbiMgICAkJENPUFlSSUdIVCQkXG4jXG4jID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmNsYXNzIENvbXBvbmVudF9Gb3JtdWxhSGFuZGxlciBleHRlbmRzIHVpLkNvbXBvbmVudF9IYW5kbGVyXG4gICAgIyMjKlxuICAgICogQSBmb3JtdWxhLWhhbmRsZXIgY29tcG9uZW50IGFsbG93cyBhIFVJIGdhbWUgb2JqZWN0IHRvIGV4ZWN1dGVcbiAgICAqIGZvcm11bGFzLjxicj48YnI+XG4gICAgKlxuICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24sIHRha2UgYSBsb29rXG4gICAgKiBpbnRvIHRoZSBcIkluIEdhbWUgVUkgU3lzdGVtXCIgc2VjdGlvbiBvZiB0aGUgaGVscC1maWxlLlxuICAgICogXG4gICAgKiBAbW9kdWxlIHVpXG4gICAgKiBAY2xhc3MgQ29tcG9uZW50X0JpbmRpbmdIYW5kbGVyXG4gICAgKiBAZXh0ZW5kcyB1aS5Db21wb25lbnRfSGFuZGxlclxuICAgICogQG1lbWJlcm9mIHVpXG4gICAgKiBAY29uc3RydWN0b3JcbiAgICAjIyNcbiAgICBjb25zdHJ1Y3RvcjogKCkgLT5cbiAgICAgICAgQGJyZWFrQ2hhaW5BdCA9IG51bGxcbiAgICAgICAgXG4gICAgIyMjKlxuICAgICogSW5pdGlhbGl6ZXMgdGhlIGJpbmRpbmctaGFuZGxlci5cbiAgICAqIFxuICAgICogQG1ldGhvZCBzZXR1cFxuICAgICMjI1xuICAgIHNldHVwOiAtPlxuICAgICAgICBAb2JqZWN0LmV2ZW50cy5vbiBcInVpUHJlcGFyZUZpbmlzaFwiLCAoKGUpID0+XG4gICAgICAgICAgICBmb3IgZm9ybXVsYSBpbiBAb2JqZWN0LmZvcm11bGFzXG4gICAgICAgICAgICAgICAgaWYgZm9ybXVsYS5ldmVudHMuY29udGFpbnMoXCJ1aVByZXBhcmVGaW5pc2hcIilcbiAgICAgICAgICAgICAgICAgICAgd2luZG93Lm8gPSBAb2JqZWN0XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5kID0gQG9iamVjdC5kYXRhWzBdXG4gICAgICAgICAgICAgICAgICAgIGZvcm11bGEuZXhlYygpXG4gICAgICAgIClcbiAgICAgXG4gICAgIyMjKlxuICAgICogVXBkYXRlcyB0aGUgYmluZGluZy1oYW5kbGVyLlxuICAgICogXG4gICAgKiBAbWV0aG9kIHVwZGF0ZVxuICAgICMjIyAgIFxuICAgIHVwZGF0ZTogLT5cbiAgICAgICAgZm9yIGZvcm11bGEgaW4gQG9iamVjdC5mb3JtdWxhc1xuICAgICAgICAgICAgQGV4ZWN1dGVGb3JtdWxhKGZvcm11bGEpXG4gICAgICAgIFxuICAgICAgICBAb2JqZWN0LmluaXRpYWxpemVkID0geWVzXG4gICAgICAgIFxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICBcbiAgICBleGVjdXRlRm9ybXVsYTogKGZvcm11bGEpIC0+IFxuICAgICAgICBpZiBAY2hlY2tPYmplY3QoZm9ybXVsYSlcbiAgICAgICAgICAgIHdpbmRvdy5vID0gQG9iamVjdFxuICAgICAgICAgICAgd2luZG93LmQgPSBAb2JqZWN0LmRhdGFbMF1cbiAgICAgICAgICAgIGZvcm11bGEuZXhlYygpXG4gICAgICAgICAgICBcbiAgICBAZXhlY3V0ZUZvcm11bGE6IChvYmplY3QsIGZvcm11bGEpIC0+XG4gICAgICAgIHdpbmRvdy5vID0gb2JqZWN0XG4gICAgICAgIHdpbmRvdy5kID0gb2JqZWN0LmRhdGFbMF1cbiAgICAgICAgZm9ybXVsYS5leGVjKClcbiAgICBcbiAgICAjIyMqXG4gICAgKiBFdmFsdWF0ZXMgYSBzcGVjaWZpZWQgcHJvcGVydHktcGF0aCBhbmQgcmV0dXJucyB0aGUgcmVzdWx0LlxuICAgICogXG4gICAgKiBAbWV0aG9kIGZpZWxkVmFsdWVcbiAgICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIC0gQSBwcm9wZXJ0eS1wYXRoLlxuICAgICogQHJldHVybiB7T2JqZWN0fSBUaGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5LXBhdGguXG4gICAgIyMjIFxuICAgIGZpZWxkVmFsdWU6IChwYXRoKSAtPiB1aS5Gb3JtdWxhSGFuZGxlci5maWVsZFZhbHVlKEBvYmplY3QsIHBhdGgpICBcbiAgICBcbiAgICAjIyMqXG4gICAgKiBFdmFsdWF0ZXMgYSBwcm9wZXJ0eS1wYXRoIG9uIGEgc3BlY2lmaWVkIG9iamVjdCBhbmQgcmV0dXJucyB0aGUgcmVzdWx0LlxuICAgICogXG4gICAgKiBAbWV0aG9kIGZpZWxkVmFsdWVcbiAgICAqIEBzdGF0aWNcbiAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgLSBBbiBvYmplY3QgdG8gZXZhbHVhdGUgdGhlIHByb3BlcnR5LXBhdGggb24uXG4gICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCAtIEEgcHJvcGVydHktcGF0aC5cbiAgICAqIEByZXR1cm4ge09iamVjdH0gVGhlIHZhbHVlIG9mIHRoZSBwcm9wZXJ0eS1wYXRoLlxuICAgICMjIyBcbiAgICBAZmllbGRWYWx1ZTogKG9iamVjdCwgcGF0aCwgcmVhZE9ubHkpIC0+XG4gICAgICAgIGlmIHR5cGVvZiAocGF0aD8uZXhlYykgPT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgICB3aW5kb3cubyA9IG9iamVjdFxuICAgICAgICAgICAgd2luZG93LmQgPSBvYmplY3Q/LmRhdGE/WzBdXG4gICAgICAgICAgICB2YWx1ZSA9IHBhdGguZXhlYygpXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZSA/IDBcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIHBhdGhcbiAgICAgXG51aS5Db21wb25lbnRfRm9ybXVsYUhhbmRsZXIgPSBDb21wb25lbnRfRm9ybXVsYUhhbmRsZXIiXX0=\n//# sourceURL=Component_FormulaHandler_114.js" }, "summary": [ "name", "type" ] } |