2261f96f5286913b284ebbd028790729a3ffbe9b.js 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. System.register(["__unresolved_0", "cc", "__unresolved_1", "__unresolved_2", "__unresolved_3", "__unresolved_4"], function (_export, _context) {
  2. "use strict";
  3. var _reporterNs, _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, director, error, JsonAsset, TTFFont, resLoader, Logger, JsonUtil, LanguageData, LanguageType, LanguagePack, _crd;
  4. function _reportPossibleCrUseOfresLoader(extras) {
  5. _reporterNs.report("resLoader", "../../../core/common/loader/ResLoader", _context.meta, extras);
  6. }
  7. function _reportPossibleCrUseOfLogger(extras) {
  8. _reporterNs.report("Logger", "../../../core/common/log/Logger", _context.meta, extras);
  9. }
  10. function _reportPossibleCrUseOfJsonUtil(extras) {
  11. _reporterNs.report("JsonUtil", "../../../core/utils/JsonUtil", _context.meta, extras);
  12. }
  13. function _reportPossibleCrUseOfLanguageData(extras) {
  14. _reporterNs.report("LanguageData", "./LanguageData", _context.meta, extras);
  15. }
  16. function _reportPossibleCrUseOfLanguageType(extras) {
  17. _reporterNs.report("LanguageType", "./LanguageData", _context.meta, extras);
  18. }
  19. _export("LanguagePack", void 0);
  20. return {
  21. setters: [function (_unresolved_) {
  22. _reporterNs = _unresolved_;
  23. }, function (_cc) {
  24. _cclegacy = _cc.cclegacy;
  25. __checkObsolete__ = _cc.__checkObsolete__;
  26. __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__;
  27. director = _cc.director;
  28. error = _cc.error;
  29. JsonAsset = _cc.JsonAsset;
  30. TTFFont = _cc.TTFFont;
  31. }, function (_unresolved_2) {
  32. resLoader = _unresolved_2.resLoader;
  33. }, function (_unresolved_3) {
  34. Logger = _unresolved_3.Logger;
  35. }, function (_unresolved_4) {
  36. JsonUtil = _unresolved_4.JsonUtil;
  37. }, function (_unresolved_5) {
  38. LanguageData = _unresolved_5.LanguageData;
  39. LanguageType = _unresolved_5.LanguageType;
  40. }],
  41. execute: function () {
  42. _crd = true;
  43. _cclegacy._RF.push({}, "2ffebyj59xIc4v4BZty8SDm", "LanguagePack", undefined);
  44. /*
  45. * @Author: dgflash
  46. * @Date: 2021-07-03 16:13:17
  47. * @LastEditors: dgflash
  48. * @LastEditTime: 2023-08-22 16:34:28
  49. */
  50. __checkObsolete__(['director', 'error', 'JsonAsset', 'TTFFont']);
  51. _export("LanguagePack", LanguagePack = class LanguagePack {
  52. /**
  53. * 刷新语言文字
  54. * @param lang
  55. */
  56. updateLanguage(lang) {
  57. let rootNodes = director.getScene().children;
  58. for (let i = 0; i < rootNodes.length; ++i) {
  59. (_crd && LanguageType === void 0 ? (_reportPossibleCrUseOfLanguageType({
  60. error: Error()
  61. }), LanguageType) : LanguageType).forEach(type => {
  62. let comps = rootNodes[i].getComponentsInChildren(type);
  63. for (let j = 0; j < comps.length; j++) {
  64. comps[j].language();
  65. }
  66. });
  67. }
  68. }
  69. /**
  70. * 下载对应语言包资源
  71. * @param lang 语言标识
  72. * @param callback 下载完成回调
  73. */
  74. async loadLanguageAssets(lang, callback) {
  75. await this.loadTexture(lang);
  76. await this.loadSpine(lang);
  77. await this.loadJson(lang);
  78. await this.loadTable(lang);
  79. callback(lang);
  80. }
  81. /** 多语言Excel配置表数据 */
  82. loadTable(lang) {
  83. return new Promise(async (resolve, reject) => {
  84. (_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
  85. error: Error()
  86. }), LanguageData) : LanguageData).excel = await (_crd && JsonUtil === void 0 ? (_reportPossibleCrUseOfJsonUtil({
  87. error: Error()
  88. }), JsonUtil) : JsonUtil).loadAsync("Language");
  89. if ((_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
  90. error: Error()
  91. }), LanguageData) : LanguageData).excel) {
  92. (_crd && Logger === void 0 ? (_reportPossibleCrUseOfLogger({
  93. error: Error()
  94. }), Logger) : Logger).instance.logConfig("config/game/Language", "下载语言包 table 资源");
  95. }
  96. resolve(null);
  97. });
  98. }
  99. /** 纹理多语言资源 */
  100. loadTexture(lang) {
  101. return new Promise((resolve, reject) => {
  102. const path = `${(_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
  103. error: Error()
  104. }), LanguageData) : LanguageData).path_texture}/${lang}`;
  105. (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  106. error: Error()
  107. }), resLoader) : resLoader).loadDir(path, (err, assets) => {
  108. if (err) {
  109. error(err);
  110. resolve(null);
  111. return;
  112. }
  113. (_crd && Logger === void 0 ? (_reportPossibleCrUseOfLogger({
  114. error: Error()
  115. }), Logger) : Logger).instance.logConfig(path, "下载语言包 textures 资源");
  116. resolve(null);
  117. });
  118. });
  119. }
  120. /** Json格式多语言资源 */
  121. loadJson(lang) {
  122. return new Promise(async (resolve, reject) => {
  123. const path = `${(_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
  124. error: Error()
  125. }), LanguageData) : LanguageData).path_json}/${lang}`;
  126. const jsonAsset = await (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  127. error: Error()
  128. }), resLoader) : resLoader).loadAsync(path, JsonAsset);
  129. if (jsonAsset) {
  130. (_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
  131. error: Error()
  132. }), LanguageData) : LanguageData).json = jsonAsset.json;
  133. (_crd && Logger === void 0 ? (_reportPossibleCrUseOfLogger({
  134. error: Error()
  135. }), Logger) : Logger).instance.logConfig(path, "下载语言包 json 资源");
  136. } else {
  137. resolve(null);
  138. return;
  139. }
  140. (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  141. error: Error()
  142. }), resLoader) : resLoader).load(path, TTFFont, (err, font) => {
  143. if (err == null) (_crd && Logger === void 0 ? (_reportPossibleCrUseOfLogger({
  144. error: Error()
  145. }), Logger) : Logger).instance.logConfig(path, "下载语言包 ttf 资源");
  146. (_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
  147. error: Error()
  148. }), LanguageData) : LanguageData).font = font;
  149. resolve(null);
  150. });
  151. });
  152. }
  153. /** SPINE动画多语言资源 */
  154. loadSpine(lang) {
  155. return new Promise(async (resolve, reject) => {
  156. const path = `${(_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
  157. error: Error()
  158. }), LanguageData) : LanguageData).path_spine}/${lang}`;
  159. (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  160. error: Error()
  161. }), resLoader) : resLoader).loadDir(path, (err, assets) => {
  162. if (err) {
  163. error(err);
  164. resolve(null);
  165. return;
  166. }
  167. (_crd && Logger === void 0 ? (_reportPossibleCrUseOfLogger({
  168. error: Error()
  169. }), Logger) : Logger).instance.logConfig(path, "下载语言包 spine 资源");
  170. resolve(null);
  171. });
  172. });
  173. }
  174. /**
  175. * 释放某个语言的语言包资源包括json
  176. * @param lang
  177. */
  178. releaseLanguageAssets(lang) {
  179. let langTexture = `${(_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
  180. error: Error()
  181. }), LanguageData) : LanguageData).path_texture}/${lang}`;
  182. (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  183. error: Error()
  184. }), resLoader) : resLoader).releaseDir(langTexture);
  185. let langJson = `${(_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
  186. error: Error()
  187. }), LanguageData) : LanguageData).path_json}/${lang}`;
  188. let json = (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  189. error: Error()
  190. }), resLoader) : resLoader).get(langJson, JsonAsset);
  191. if (json) {
  192. json.decRef();
  193. }
  194. let font = (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  195. error: Error()
  196. }), resLoader) : resLoader).get(langJson, TTFFont);
  197. if (font) {
  198. font.decRef();
  199. }
  200. let langSpine = `${(_crd && LanguageData === void 0 ? (_reportPossibleCrUseOfLanguageData({
  201. error: Error()
  202. }), LanguageData) : LanguageData).path_spine}/${lang}`;
  203. (_crd && resLoader === void 0 ? (_reportPossibleCrUseOfresLoader({
  204. error: Error()
  205. }), resLoader) : resLoader).release(langSpine);
  206. }
  207. });
  208. _cclegacy._RF.pop();
  209. _crd = false;
  210. }
  211. };
  212. });
  213. //# sourceMappingURL=2261f96f5286913b284ebbd028790729a3ffbe9b.js.map