Subversion Repository Public Repository

Nextrek

1
{"uid":"1F932484K382AA48B8SB623ECA67B7376D07","isLoaded":true,"lastModificationTime":0,"items":{"name":"Component_TextInput","type":"game_script","order":19,"content":"# ===================================================================\n#\n#   Script: Component_TextInput\n#\n#   $$COPYRIGHT$$\n#\n# ===================================================================\nclass Component_TextInput extends gs.Component\n    ###*\n    * The text-input component defines the logic for the text-input window\n    * of the default In-Game UI. \n    *\n    * @module gs\n    * @class Component_TextInput\n    * @extends gs.Component\n    * @memberof gs\n    * @constructor\n    * @params {Object} params - The params-object needs at least a letters-property to define \n    * the number of letters for the text. The letters-property can also be a property-path.\n    ###\n    constructor: (params) ->\n        ###*\n        * The max. number of letters.\n        * @property letters\n        * @type number\n        ###\n        @letters = ui.Component_FormulaHandler.fieldValue(this, params.letters)\n        \n        ###*\n        * The cursor position. Points to the current letter.\n        * @property cursor\n        * @type number\n        * @protected\n        ###\n        @cursor = 0\n        \n        ###*\n        * The current text.\n        * @property text\n        * @type string\n        ###\n        @text = \"\"\n\n    ###*\n    * Puts the specified text into the UI label-objects to make it visible\n    * on screen.\n    *\n    * @method setText\n    * @param {string} text The text to set.\n    ###  \n    setText: (text) ->\n        for c, i in text\n            @object.controls[i].controls[1].text = c\n            \n        return null\n     \n    ###*\n    * An action-method to add a single letter to the text.\n    *\n    * @method action_addLetter\n    * @param {gs.Object_Base} sender The sender of the action.\n    * @param {Object} params The params-object which needs a letter-property containing the letter to add.\n    ###   \n    action_addLetter: (sender, params) ->\n        letter = params.letter\n        if @text.length < @letters\n            @text += letter\n        else\n            @text = @text.replaceAt(@text.length-1, letter.toString())\n            \n        @setText(@text.rfill(\" \", @letters))\n        \n    ###*\n    * An action-method to clear the letter at the current cursor position.\n    *\n    * @method action_removeLetter\n    * @param {gs.Object_Base} sender The sender of the action.\n    * @param {Object} [params=null] The params-object. Can be <b>null</b>.\n    ###  \n    action_removeLetter: ->\n        if @text.length > 0\n            @text = @text.substring(0, @text.length-1)\n            \n        @setText(@text.rfill(\" \", @letters))\n        \ngs.Component_TextInput = Component_TextInput","parentId":"01A95DA3K01E8A4CB4SBE17E790BCE1FC035","folder":false,"compiledContent":"var Component_TextInput,\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_TextInput = (function(superClass) {\n  extend(Component_TextInput, superClass);\n\n\n  /**\n  * The text-input component defines the logic for the text-input window\n  * of the default In-Game UI. \n  *\n  * @module gs\n  * @class Component_TextInput\n  * @extends gs.Component\n  * @memberof gs\n  * @constructor\n  * @params {Object} params - The params-object needs at least a letters-property to define \n  * the number of letters for the text. The letters-property can also be a property-path.\n   */\n\n  function Component_TextInput(params) {\n\n    /**\n    * The max. number of letters.\n    * @property letters\n    * @type number\n     */\n    this.letters = ui.Component_FormulaHandler.fieldValue(this, params.letters);\n\n    /**\n    * The cursor position. Points to the current letter.\n    * @property cursor\n    * @type number\n    * @protected\n     */\n    this.cursor = 0;\n\n    /**\n    * The current text.\n    * @property text\n    * @type string\n     */\n    this.text = \"\";\n  }\n\n\n  /**\n  * Puts the specified text into the UI label-objects to make it visible\n  * on screen.\n  *\n  * @method setText\n  * @param {string} text The text to set.\n   */\n\n  Component_TextInput.prototype.setText = function(text) {\n    var c, i, j, len;\n    for (i = j = 0, len = text.length; j < len; i = ++j) {\n      c = text[i];\n      this.object.controls[i].controls[1].text = c;\n    }\n    return null;\n  };\n\n\n  /**\n  * An action-method to add a single letter to the text.\n  *\n  * @method action_addLetter\n  * @param {gs.Object_Base} sender The sender of the action.\n  * @param {Object} params The params-object which needs a letter-property containing the letter to add.\n   */\n\n  Component_TextInput.prototype.action_addLetter = function(sender, params) {\n    var letter;\n    letter = params.letter;\n    if (this.text.length < this.letters) {\n      this.text += letter;\n    } else {\n      this.text = this.text.replaceAt(this.text.length - 1, letter.toString());\n    }\n    return this.setText(this.text.rfill(\" \", this.letters));\n  };\n\n\n  /**\n  * An action-method to clear the letter at the current cursor position.\n  *\n  * @method action_removeLetter\n  * @param {gs.Object_Base} sender The sender of the action.\n  * @param {Object} [params=null] The params-object. Can be <b>null</b>.\n   */\n\n  Component_TextInput.prototype.action_removeLetter = function() {\n    if (this.text.length > 0) {\n      this.text = this.text.substring(0, this.text.length - 1);\n    }\n    return this.setText(this.text.rfill(\" \", this.letters));\n  };\n\n  return Component_TextInput;\n\n})(gs.Component);\n\ngs.Component_TextInput = Component_TextInput;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsbUJBQUE7RUFBQTs7O0FBQU07Ozs7QUFDRjs7Ozs7Ozs7Ozs7OztFQVlhLDZCQUFDLE1BQUQ7O0FBQ1Q7Ozs7O0lBS0EsSUFBQyxDQUFBLE9BQUQsR0FBVyxFQUFFLENBQUMsd0JBQXdCLENBQUMsVUFBNUIsQ0FBdUMsSUFBdkMsRUFBNkMsTUFBTSxDQUFDLE9BQXBEOztBQUVYOzs7Ozs7SUFNQSxJQUFDLENBQUEsTUFBRCxHQUFVOztBQUVWOzs7OztJQUtBLElBQUMsQ0FBQSxJQUFELEdBQVE7RUFyQkM7OztBQXVCYjs7Ozs7Ozs7Z0NBT0EsT0FBQSxHQUFTLFNBQUMsSUFBRDtBQUNMLFFBQUE7QUFBQSxTQUFBLDhDQUFBOztNQUNJLElBQUMsQ0FBQSxNQUFNLENBQUMsUUFBUyxDQUFBLENBQUEsQ0FBRSxDQUFDLFFBQVMsQ0FBQSxDQUFBLENBQUUsQ0FBQyxJQUFoQyxHQUF1QztBQUQzQztBQUdBLFdBQU87RUFKRjs7O0FBTVQ7Ozs7Ozs7O2dDQU9BLGdCQUFBLEdBQWtCLFNBQUMsTUFBRCxFQUFTLE1BQVQ7QUFDZCxRQUFBO0lBQUEsTUFBQSxHQUFTLE1BQU0sQ0FBQztJQUNoQixJQUFHLElBQUMsQ0FBQSxJQUFJLENBQUMsTUFBTixHQUFlLElBQUMsQ0FBQSxPQUFuQjtNQUNJLElBQUMsQ0FBQSxJQUFELElBQVMsT0FEYjtLQUFBLE1BQUE7TUFHSSxJQUFDLENBQUEsSUFBRCxHQUFRLElBQUMsQ0FBQSxJQUFJLENBQUMsU0FBTixDQUFnQixJQUFDLENBQUEsSUFBSSxDQUFDLE1BQU4sR0FBYSxDQUE3QixFQUFnQyxNQUFNLENBQUMsUUFBUCxDQUFBLENBQWhDLEVBSFo7O1dBS0EsSUFBQyxDQUFBLE9BQUQsQ0FBUyxJQUFDLENBQUEsSUFBSSxDQUFDLEtBQU4sQ0FBWSxHQUFaLEVBQWlCLElBQUMsQ0FBQSxPQUFsQixDQUFUO0VBUGM7OztBQVNsQjs7Ozs7Ozs7Z0NBT0EsbUJBQUEsR0FBcUIsU0FBQTtJQUNqQixJQUFHLElBQUMsQ0FBQSxJQUFJLENBQUMsTUFBTixHQUFlLENBQWxCO01BQ0ksSUFBQyxDQUFBLElBQUQsR0FBUSxJQUFDLENBQUEsSUFBSSxDQUFDLFNBQU4sQ0FBZ0IsQ0FBaEIsRUFBbUIsSUFBQyxDQUFBLElBQUksQ0FBQyxNQUFOLEdBQWEsQ0FBaEMsRUFEWjs7V0FHQSxJQUFDLENBQUEsT0FBRCxDQUFTLElBQUMsQ0FBQSxJQUFJLENBQUMsS0FBTixDQUFZLEdBQVosRUFBaUIsSUFBQyxDQUFBLE9BQWxCLENBQVQ7RUFKaUI7Ozs7R0F4RVMsRUFBRSxDQUFDOztBQThFckMsRUFBRSxDQUFDLG1CQUFILEdBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4jXG4jICAgU2NyaXB0OiBDb21wb25lbnRfVGV4dElucHV0XG4jXG4jICAgJCRDT1BZUklHSFQkJFxuI1xuIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5jbGFzcyBDb21wb25lbnRfVGV4dElucHV0IGV4dGVuZHMgZ3MuQ29tcG9uZW50XG4gICAgIyMjKlxuICAgICogVGhlIHRleHQtaW5wdXQgY29tcG9uZW50IGRlZmluZXMgdGhlIGxvZ2ljIGZvciB0aGUgdGV4dC1pbnB1dCB3aW5kb3dcbiAgICAqIG9mIHRoZSBkZWZhdWx0IEluLUdhbWUgVUkuIFxuICAgICpcbiAgICAqIEBtb2R1bGUgZ3NcbiAgICAqIEBjbGFzcyBDb21wb25lbnRfVGV4dElucHV0XG4gICAgKiBAZXh0ZW5kcyBncy5Db21wb25lbnRcbiAgICAqIEBtZW1iZXJvZiBnc1xuICAgICogQGNvbnN0cnVjdG9yXG4gICAgKiBAcGFyYW1zIHtPYmplY3R9IHBhcmFtcyAtIFRoZSBwYXJhbXMtb2JqZWN0IG5lZWRzIGF0IGxlYXN0IGEgbGV0dGVycy1wcm9wZXJ0eSB0byBkZWZpbmUgXG4gICAgKiB0aGUgbnVtYmVyIG9mIGxldHRlcnMgZm9yIHRoZSB0ZXh0LiBUaGUgbGV0dGVycy1wcm9wZXJ0eSBjYW4gYWxzbyBiZSBhIHByb3BlcnR5LXBhdGguXG4gICAgIyMjXG4gICAgY29uc3RydWN0b3I6IChwYXJhbXMpIC0+XG4gICAgICAgICMjIypcbiAgICAgICAgKiBUaGUgbWF4LiBudW1iZXIgb2YgbGV0dGVycy5cbiAgICAgICAgKiBAcHJvcGVydHkgbGV0dGVyc1xuICAgICAgICAqIEB0eXBlIG51bWJlclxuICAgICAgICAjIyNcbiAgICAgICAgQGxldHRlcnMgPSB1aS5Db21wb25lbnRfRm9ybXVsYUhhbmRsZXIuZmllbGRWYWx1ZSh0aGlzLCBwYXJhbXMubGV0dGVycylcbiAgICAgICAgXG4gICAgICAgICMjIypcbiAgICAgICAgKiBUaGUgY3Vyc29yIHBvc2l0aW9uLiBQb2ludHMgdG8gdGhlIGN1cnJlbnQgbGV0dGVyLlxuICAgICAgICAqIEBwcm9wZXJ0eSBjdXJzb3JcbiAgICAgICAgKiBAdHlwZSBudW1iZXJcbiAgICAgICAgKiBAcHJvdGVjdGVkXG4gICAgICAgICMjI1xuICAgICAgICBAY3Vyc29yID0gMFxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIFRoZSBjdXJyZW50IHRleHQuXG4gICAgICAgICogQHByb3BlcnR5IHRleHRcbiAgICAgICAgKiBAdHlwZSBzdHJpbmdcbiAgICAgICAgIyMjXG4gICAgICAgIEB0ZXh0ID0gXCJcIlxuXG4gICAgIyMjKlxuICAgICogUHV0cyB0aGUgc3BlY2lmaWVkIHRleHQgaW50byB0aGUgVUkgbGFiZWwtb2JqZWN0cyB0byBtYWtlIGl0IHZpc2libGVcbiAgICAqIG9uIHNjcmVlbi5cbiAgICAqXG4gICAgKiBAbWV0aG9kIHNldFRleHRcbiAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IFRoZSB0ZXh0IHRvIHNldC5cbiAgICAjIyMgIFxuICAgIHNldFRleHQ6ICh0ZXh0KSAtPlxuICAgICAgICBmb3IgYywgaSBpbiB0ZXh0XG4gICAgICAgICAgICBAb2JqZWN0LmNvbnRyb2xzW2ldLmNvbnRyb2xzWzFdLnRleHQgPSBjXG4gICAgICAgICAgICBcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgXG4gICAgIyMjKlxuICAgICogQW4gYWN0aW9uLW1ldGhvZCB0byBhZGQgYSBzaW5nbGUgbGV0dGVyIHRvIHRoZSB0ZXh0LlxuICAgICpcbiAgICAqIEBtZXRob2QgYWN0aW9uX2FkZExldHRlclxuICAgICogQHBhcmFtIHtncy5PYmplY3RfQmFzZX0gc2VuZGVyIFRoZSBzZW5kZXIgb2YgdGhlIGFjdGlvbi5cbiAgICAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgVGhlIHBhcmFtcy1vYmplY3Qgd2hpY2ggbmVlZHMgYSBsZXR0ZXItcHJvcGVydHkgY29udGFpbmluZyB0aGUgbGV0dGVyIHRvIGFkZC5cbiAgICAjIyMgICBcbiAgICBhY3Rpb25fYWRkTGV0dGVyOiAoc2VuZGVyLCBwYXJhbXMpIC0+XG4gICAgICAgIGxldHRlciA9IHBhcmFtcy5sZXR0ZXJcbiAgICAgICAgaWYgQHRleHQubGVuZ3RoIDwgQGxldHRlcnNcbiAgICAgICAgICAgIEB0ZXh0ICs9IGxldHRlclxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBAdGV4dCA9IEB0ZXh0LnJlcGxhY2VBdChAdGV4dC5sZW5ndGgtMSwgbGV0dGVyLnRvU3RyaW5nKCkpXG4gICAgICAgICAgICBcbiAgICAgICAgQHNldFRleHQoQHRleHQucmZpbGwoXCIgXCIsIEBsZXR0ZXJzKSlcbiAgICAgICAgXG4gICAgIyMjKlxuICAgICogQW4gYWN0aW9uLW1ldGhvZCB0byBjbGVhciB0aGUgbGV0dGVyIGF0IHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbi5cbiAgICAqXG4gICAgKiBAbWV0aG9kIGFjdGlvbl9yZW1vdmVMZXR0ZXJcbiAgICAqIEBwYXJhbSB7Z3MuT2JqZWN0X0Jhc2V9IHNlbmRlciBUaGUgc2VuZGVyIG9mIHRoZSBhY3Rpb24uXG4gICAgKiBAcGFyYW0ge09iamVjdH0gW3BhcmFtcz1udWxsXSBUaGUgcGFyYW1zLW9iamVjdC4gQ2FuIGJlIDxiPm51bGw8L2I+LlxuICAgICMjIyAgXG4gICAgYWN0aW9uX3JlbW92ZUxldHRlcjogLT5cbiAgICAgICAgaWYgQHRleHQubGVuZ3RoID4gMFxuICAgICAgICAgICAgQHRleHQgPSBAdGV4dC5zdWJzdHJpbmcoMCwgQHRleHQubGVuZ3RoLTEpXG4gICAgICAgICAgICBcbiAgICAgICAgQHNldFRleHQoQHRleHQucmZpbGwoXCIgXCIsIEBsZXR0ZXJzKSlcbiAgICAgICAgXG5ncy5Db21wb25lbnRfVGV4dElucHV0ID0gQ29tcG9uZW50X1RleHRJbnB1dCJdfQ==\n//# sourceURL=Component_TextInput_168.js"},"summary":["name","type","order"]}

Commits for Nextrek/s2s/data/1F932484K382AA48B8SB623ECA67B7376D07.json

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