d76ae44f3d62e3e76df460cf38b4bc926835665e.js 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. System.register(["__unresolved_0", "cc", "cc/env", "__unresolved_1"], function (_export, _context) {
  2. "use strict";
  3. var _reporterNs, _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, CCString, Component, Label, RichText, _decorator, warn, EDITOR, LanguageData, _dec, _class, _class2, _descriptor, _descriptor2, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _class4, _class5, _descriptor3, _descriptor4, _crd, ccclass, property, menu, LangLabelParamsItem, LanguageLabel;
  4. function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
  5. function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
  6. function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'transform-class-properties is enabled and runs after the decorators transform.'); }
  7. function _reportPossibleCrUseOfLanguageData(extras) {
  8. _reporterNs.report("LanguageData", "./LanguageData", _context.meta, extras);
  9. }
  10. return {
  11. setters: [function (_unresolved_) {
  12. _reporterNs = _unresolved_;
  13. }, function (_cc) {
  14. _cclegacy = _cc.cclegacy;
  15. __checkObsolete__ = _cc.__checkObsolete__;
  16. __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__;
  17. CCString = _cc.CCString;
  18. Component = _cc.Component;
  19. Label = _cc.Label;
  20. RichText = _cc.RichText;
  21. _decorator = _cc._decorator;
  22. warn = _cc.warn;
  23. }, function (_ccEnv) {
  24. EDITOR = _ccEnv.EDITOR;
  25. }, function (_unresolved_2) {
  26. LanguageData = _unresolved_2.LanguageData;
  27. }],
  28. execute: function () {
  29. _crd = true;
  30. _cclegacy._RF.push({}, "110c8vEd5NEPL/N9meGQnaX", "LanguageLabel", undefined);
  31. __checkObsolete__(['CCString', 'Component', 'Label', 'RichText', 'TTFFont', '_decorator', 'warn']);
  32. ({
  33. ccclass,
  34. property,
  35. menu
  36. } = _decorator);
  37. _export("LangLabelParamsItem", LangLabelParamsItem = (_dec = ccclass("LangLabelParamsItem"), _dec(_class = (_class2 = class LangLabelParamsItem {
  38. constructor() {
  39. _initializerDefineProperty(this, "key", _descriptor, this);
  40. _initializerDefineProperty(this, "value", _descriptor2, this);
  41. }
  42. }, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "key", [property], {
  43. configurable: true,
  44. enumerable: true,
  45. writable: true,
  46. initializer: function initializer() {
  47. return "";
  48. }
  49. }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "value", [property], {
  50. configurable: true,
  51. enumerable: true,
  52. writable: true,
  53. initializer: function initializer() {
  54. return "";
  55. }
  56. })), _class2)) || _class));
  57. /** 文本多语言 */
  58. _export("LanguageLabel", LanguageLabel = (_dec2 = ccclass("LanguageLabel"), _dec3 = menu('OopsFramework/Language/LanguageLabel (文本多语言)'), _dec4 = property({
  59. type: LangLabelParamsItem,
  60. displayName: "params"
  61. }), _dec5 = property({
  62. type: LangLabelParamsItem,
  63. displayName: "params"
  64. }), _dec6 = property({
  65. serializable: true
  66. }), _dec7 = property({
  67. type: CCString,
  68. serializable: true
  69. }), _dec2(_class4 = _dec3(_class4 = (_class5 = class LanguageLabel extends Component {
  70. constructor() {
  71. super(...arguments);
  72. _initializerDefineProperty(this, "_params", _descriptor3, this);
  73. _initializerDefineProperty(this, "_dataID", _descriptor4, this);
  74. /** 初始字体尺寸 */
  75. this.initFontSize = 0;
  76. this._needUpdate = false;
  77. }
  78. set params(value) {
  79. this._params = value;
  80. if (!EDITOR) {
  81. this._needUpdate = true;
  82. }
  83. }
  84. get params() {
  85. return this._params || [];
  86. }
  87. get dataID() {
  88. return this._dataID || "";
  89. }
  90. set dataID(value) {
  91. this._dataID = value;
  92. if (!EDITOR) {
  93. this._needUpdate = true;
  94. }
  95. }
  96. get string() {
  97. var _string = (_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
  98. error: Error()
  99. }), LanguageData) : LanguageData).getLangByID(this._dataID);
  100. if (_string && this._params.length > 0) {
  101. this._params.forEach(item => {
  102. _string = _string.replace("%{" + item.key + "}", item.value);
  103. });
  104. }
  105. if (!_string) {
  106. warn("[LanguageLabel] 未找到语言标识,使用dataID替换");
  107. _string = this._dataID;
  108. }
  109. return _string;
  110. }
  111. /** 更新语言 */
  112. language() {
  113. this._needUpdate = true;
  114. }
  115. onLoad() {
  116. this._needUpdate = true;
  117. }
  118. /**
  119. * 修改多语言参数,采用惰性求值策略
  120. * @param key 对于i18n表里面的key值
  121. * @param value 替换的文本
  122. */
  123. setVars(key, value) {
  124. var haskey = false;
  125. for (var i = 0; i < this._params.length; i++) {
  126. var element = this._params[i];
  127. if (element.key === key) {
  128. element.value = value;
  129. haskey = true;
  130. }
  131. }
  132. if (!haskey) {
  133. var ii = new LangLabelParamsItem();
  134. ii.key = key;
  135. ii.value = value;
  136. this._params.push(ii);
  137. }
  138. this._needUpdate = true;
  139. }
  140. update() {
  141. if (this._needUpdate) {
  142. this.updateContent();
  143. this._needUpdate = false;
  144. }
  145. }
  146. updateContent() {
  147. var label = this.getComponent(Label);
  148. var richtext = this.getComponent(RichText);
  149. var font = (_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
  150. error: Error()
  151. }), LanguageData) : LanguageData).font;
  152. if (label) {
  153. if (font) {
  154. label.font = font;
  155. }
  156. label.string = this.string;
  157. this.initFontSize = label.fontSize;
  158. } else if (richtext) {
  159. if (font) {
  160. richtext.font = font;
  161. }
  162. richtext.string = this.string;
  163. this.initFontSize = richtext.fontSize;
  164. } else {
  165. warn("[LanguageLabel], 该节点没有cc.Label || cc.RichText组件");
  166. }
  167. }
  168. }, (_descriptor3 = _applyDecoratedDescriptor(_class5.prototype, "_params", [_dec4], {
  169. configurable: true,
  170. enumerable: true,
  171. writable: true,
  172. initializer: function initializer() {
  173. return [];
  174. }
  175. }), _applyDecoratedDescriptor(_class5.prototype, "params", [_dec5], Object.getOwnPropertyDescriptor(_class5.prototype, "params"), _class5.prototype), _descriptor4 = _applyDecoratedDescriptor(_class5.prototype, "_dataID", [_dec6], {
  176. configurable: true,
  177. enumerable: true,
  178. writable: true,
  179. initializer: function initializer() {
  180. return "";
  181. }
  182. }), _applyDecoratedDescriptor(_class5.prototype, "dataID", [_dec7], Object.getOwnPropertyDescriptor(_class5.prototype, "dataID"), _class5.prototype)), _class5)) || _class4) || _class4));
  183. _cclegacy._RF.pop();
  184. _crd = false;
  185. }
  186. };
  187. });
  188. //# sourceMappingURL=d76ae44f3d62e3e76df460cf38b4bc926835665e.js.map