6c076b5e6c62c0c2ef2a26a5af4e4966bad45031.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  1. System.register(["__unresolved_0", "cc", "__unresolved_1", "__unresolved_2", "__unresolved_3", "__unresolved_4", "__unresolved_5", "__unresolved_6"], function (_export, _context) {
  2. "use strict";
  3. var _reporterNs, _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, _decorator, director, Node, Prefab, Sprite, SpriteFrame, tween, v2, v3, Utils, Constants, bundleMgr, Logger, PoolManager, uiMgr, _dec, _class, _crd, ccclass, property, ITEM_TYPE, ResUtil;
  4. function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
  5. function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
  6. function _reportPossibleCrUseOfUtils(extras) {
  7. _reporterNs.report("Utils", "./Utils", _context.meta, extras);
  8. }
  9. function _reportPossibleCrUseOfConstants(extras) {
  10. _reporterNs.report("Constants", "../data/Constants", _context.meta, extras);
  11. }
  12. function _reportPossibleCrUseOfbundleMgr(extras) {
  13. _reporterNs.report("bundleMgr", "../core/manager/BundleManager", _context.meta, extras);
  14. }
  15. function _reportPossibleCrUseOfLogger(extras) {
  16. _reporterNs.report("Logger", "../extend/Logger", _context.meta, extras);
  17. }
  18. function _reportPossibleCrUseOfPoolManager(extras) {
  19. _reporterNs.report("PoolManager", "../core/manager/PoolManager", _context.meta, extras);
  20. }
  21. function _reportPossibleCrUseOfuiMgr(extras) {
  22. _reporterNs.report("uiMgr", "../core/manager/UIManager", _context.meta, extras);
  23. }
  24. return {
  25. setters: [function (_unresolved_) {
  26. _reporterNs = _unresolved_;
  27. }, function (_cc) {
  28. _cclegacy = _cc.cclegacy;
  29. __checkObsolete__ = _cc.__checkObsolete__;
  30. __checkObsoleteInNamespace__ = _cc.__checkObsoleteInNamespace__;
  31. _decorator = _cc._decorator;
  32. director = _cc.director;
  33. Node = _cc.Node;
  34. Prefab = _cc.Prefab;
  35. Sprite = _cc.Sprite;
  36. SpriteFrame = _cc.SpriteFrame;
  37. tween = _cc.tween;
  38. v2 = _cc.v2;
  39. v3 = _cc.v3;
  40. }, function (_unresolved_2) {
  41. Utils = _unresolved_2.Utils;
  42. }, function (_unresolved_3) {
  43. Constants = _unresolved_3.Constants;
  44. }, function (_unresolved_4) {
  45. bundleMgr = _unresolved_4.bundleMgr;
  46. }, function (_unresolved_5) {
  47. Logger = _unresolved_5.Logger;
  48. }, function (_unresolved_6) {
  49. PoolManager = _unresolved_6.PoolManager;
  50. }, function (_unresolved_7) {
  51. uiMgr = _unresolved_7.uiMgr;
  52. }],
  53. execute: function () {
  54. _crd = true;
  55. _cclegacy._RF.push({}, "3015eqw5adC8ZqXLnnEky33", "ResUtil", undefined);
  56. __checkObsolete__(['_decorator', 'Asset', 'Component', 'Constructor', 'director', 'Node', 'Prefab', 'SceneAsset', 'Sprite', 'SpriteFrame', 'tween', 'v2', 'v3']);
  57. ({
  58. ccclass,
  59. property
  60. } = _decorator);
  61. _export("ITEM_TYPE", ITEM_TYPE = /*#__PURE__*/function (ITEM_TYPE) {
  62. ITEM_TYPE["Diamond"] = "diamond";
  63. ITEM_TYPE["Coin"] = "coin";
  64. ITEM_TYPE["Boomerang"] = "boomerang";
  65. return ITEM_TYPE;
  66. }({}));
  67. _export("ResUtil", ResUtil = (_dec = ccclass('ResUtil'), _dec(_class = class ResUtil {
  68. /**
  69. * 设置精灵贴图 只能prefabs包 texture目录下
  70. * @param path 资源路径
  71. * 只能是在prefabs这个bundle目录下、然后如果使用
  72. * @param target 精灵或者节点
  73. * @param cb 回调函数
  74. */
  75. static setSpriteFrame(name, target) {
  76. if ((_crd && Utils === void 0 ? (_reportPossibleCrUseOfUtils({
  77. error: Error()
  78. }), Utils) : Utils).isNull(name)) return;
  79. var path = "texture/" + name + "/spriteFrame";
  80. (_crd && bundleMgr === void 0 ? (_reportPossibleCrUseOfbundleMgr({
  81. error: Error()
  82. }), bundleMgr) : bundleMgr).loadAsset((_crd && Constants === void 0 ? (_reportPossibleCrUseOfConstants({
  83. error: Error()
  84. }), Constants) : Constants).bundleName.prefabs, path, SpriteFrame, (err, clip) => {
  85. if (!err) {
  86. var sprite = target instanceof Node ? target.getComponent(Sprite) : target;
  87. if (!sprite) {
  88. console.error('Target node does not have a Sprite component!');
  89. } else {
  90. sprite.spriteFrame = clip;
  91. }
  92. }
  93. });
  94. }
  95. /**
  96. * 设置精灵贴图 指定自定义的包
  97. * @param bundle 包名如果传空 默认prefabs包名
  98. * @param path 路径 如果在prefabs包下,就可以直接传递传图片名称或者path路径(hit_m or texture/hit_m/spriteFrame)
  99. * 如果不在prefabs包下就只能传递完成的路径(texture/hit_m/spriteFrame)
  100. * @param type 类型
  101. * @param target 图片或者节点
  102. * @param onComplete 设置完成的回调
  103. */
  104. static setSpriteFrameAsset(bundle, path, type, target, onComplete) {
  105. if ((_crd && Utils === void 0 ? (_reportPossibleCrUseOfUtils({
  106. error: Error()
  107. }), Utils) : Utils).isNull(bundle)) {
  108. bundle = (_crd && Constants === void 0 ? (_reportPossibleCrUseOfConstants({
  109. error: Error()
  110. }), Constants) : Constants).bundleName.prefabs;
  111. if (!path.startsWith("texture/")) {
  112. path = "texture/" + path + "/spriteFrame";
  113. }
  114. }
  115. if ((_crd && Utils === void 0 ? (_reportPossibleCrUseOfUtils({
  116. error: Error()
  117. }), Utils) : Utils).isNull(path)) return;
  118. (_crd && bundleMgr === void 0 ? (_reportPossibleCrUseOfbundleMgr({
  119. error: Error()
  120. }), bundleMgr) : bundleMgr).loadAsset(bundle, path, type, (err, clip) => {
  121. if (!err) {
  122. var sprite = target instanceof Node ? target.getComponent(Sprite) : target;
  123. if (!sprite) {
  124. console.error('Target node does not have a Sprite component!');
  125. } else {
  126. sprite.spriteFrame = clip;
  127. }
  128. }
  129. onComplete == null || onComplete(err, clip);
  130. });
  131. }
  132. /**
  133. * 预加载场景资源(支持进度回调)
  134. * @param {string} sceneName - 场景名称(如 "main" 或者"level1")
  135. * @param {Function} [onComplete] - 完成回调
  136. * @param {Function} [onProgress] - 加载进度回调
  137. * @param {Error | null} onProgress.err - 错误信息(成功时为 null)
  138. * @param {number} onProgress.progress - 加载进度(0~1)
  139. */
  140. static preloadScene(sceneName, onComplete, onProgress) {
  141. if ((_crd && Utils === void 0 ? (_reportPossibleCrUseOfUtils({
  142. error: Error()
  143. }), Utils) : Utils).isNull(sceneName)) {
  144. (_crd && Logger === void 0 ? (_reportPossibleCrUseOfLogger({
  145. error: Error()
  146. }), Logger) : Logger).warn("[SceneLoader] Scene name cannot be null or empty!");
  147. return;
  148. } //开始预加载场景
  149. director.preloadScene(sceneName, (loadedCount, totalCount) => {
  150. //进度更新回调
  151. var progress = totalCount > 0 ? loadedCount / totalCount : 0;
  152. onProgress == null || onProgress(null, progress); // 通知进度(未完成)
  153. }, //加载完成回调
  154. (error, sceneAsset) => {
  155. if (error) {
  156. (_crd && Logger === void 0 ? (_reportPossibleCrUseOfLogger({
  157. error: Error()
  158. }), Logger) : Logger).error("[SceneLoader] Failed to preload scene \"" + sceneName + "\":", error);
  159. onProgress == null || onProgress(error, 0); // 通知失败
  160. return;
  161. }
  162. onComplete == null || onComplete(); //预加载成功
  163. (_crd && Logger === void 0 ? (_reportPossibleCrUseOfLogger({
  164. error: Error()
  165. }), Logger) : Logger).log("[SceneLoader] Scene \"" + sceneName + "\" preloaded successfully");
  166. onProgress == null || onProgress(null, 1);
  167. });
  168. }
  169. /**
  170. * 加载敌人的预制体
  171. * @param name 敌人的名字
  172. * @param parent 父节点
  173. * @returns 返回一个敌人
  174. */
  175. static loadEnemyRes(name, parent) {
  176. return new Promise( /*#__PURE__*/_asyncToGenerator(function* (resolve, reject) {
  177. try {
  178. if ((_crd && Utils === void 0 ? (_reportPossibleCrUseOfUtils({
  179. error: Error()
  180. }), Utils) : Utils).isNull(name)) {
  181. resolve(null);
  182. return;
  183. } //加载资源
  184. var path = "enemy/" + name;
  185. var res = yield (_crd && bundleMgr === void 0 ? (_reportPossibleCrUseOfbundleMgr({
  186. error: Error()
  187. }), bundleMgr) : bundleMgr).loadAsset((_crd && Constants === void 0 ? (_reportPossibleCrUseOfConstants({
  188. error: Error()
  189. }), Constants) : Constants).bundleName.prefabs, path, Prefab); //从对象池获取实例
  190. var enemy = (_crd && PoolManager === void 0 ? (_reportPossibleCrUseOfPoolManager({
  191. error: Error()
  192. }), PoolManager) : PoolManager).getNode(res); //设置父节点
  193. if (parent) {
  194. enemy.parent = parent;
  195. } //返回结果
  196. resolve(enemy);
  197. } catch (error) {
  198. (_crd && Logger === void 0 ? (_reportPossibleCrUseOfLogger({
  199. error: Error()
  200. }), Logger) : Logger).error("[loadEnemyRes] \u52A0\u8F7D\u654C\u4EBA\u8D44\u6E90\u5931\u8D25: " + name, error);
  201. reject(new Error("\u52A0\u8F7D\u654C\u4EBA\u8D44\u6E90\u5931\u8D25: " + name));
  202. }
  203. }));
  204. }
  205. /**
  206. * 加载枪的预制体
  207. * @param name 枪的名称
  208. * @param parent 父节点
  209. * @returns 返回一把枪
  210. */
  211. static loadGunRes(path, parent) {
  212. return _asyncToGenerator(function* () {
  213. return new Promise( /*#__PURE__*/_asyncToGenerator(function* (resolve, reject) {
  214. try {
  215. if ((_crd && Utils === void 0 ? (_reportPossibleCrUseOfUtils({
  216. error: Error()
  217. }), Utils) : Utils).isNull(path)) {
  218. resolve(null);
  219. return;
  220. }
  221. var res = yield (_crd && bundleMgr === void 0 ? (_reportPossibleCrUseOfbundleMgr({
  222. error: Error()
  223. }), bundleMgr) : bundleMgr).loadAsset((_crd && Constants === void 0 ? (_reportPossibleCrUseOfConstants({
  224. error: Error()
  225. }), Constants) : Constants).bundleName.prefabs, path, Prefab);
  226. var gun = (_crd && PoolManager === void 0 ? (_reportPossibleCrUseOfPoolManager({
  227. error: Error()
  228. }), PoolManager) : PoolManager).getNode(res);
  229. if (parent) {
  230. gun.parent = parent;
  231. }
  232. resolve(gun);
  233. } catch (error) {
  234. (_crd && Logger === void 0 ? (_reportPossibleCrUseOfLogger({
  235. error: Error()
  236. }), Logger) : Logger).error("[loadGunRes] \u52A0\u8F7D\u67AA\u8D44\u6E90\u5931\u8D25: " + name, error);
  237. reject(error);
  238. }
  239. }));
  240. })();
  241. }
  242. /**
  243. * 只加载prefabs资源ui和页面 预制体
  244. * @param name 名字 只能是预知体
  245. * @param parent 父节点
  246. * @returns 返回一个节点
  247. */
  248. static loadRes(path, parent) {
  249. return new Promise( /*#__PURE__*/_asyncToGenerator(function* (resolve, reject) {
  250. try {
  251. if ((_crd && Utils === void 0 ? (_reportPossibleCrUseOfUtils({
  252. error: Error()
  253. }), Utils) : Utils).isNull(path)) {
  254. resolve(null);
  255. return;
  256. } //加载资源 从对象池获取实例
  257. var res = yield (_crd && bundleMgr === void 0 ? (_reportPossibleCrUseOfbundleMgr({
  258. error: Error()
  259. }), bundleMgr) : bundleMgr).loadAsset((_crd && Constants === void 0 ? (_reportPossibleCrUseOfConstants({
  260. error: Error()
  261. }), Constants) : Constants).bundleName.prefabs, path, Prefab);
  262. var n = (_crd && PoolManager === void 0 ? (_reportPossibleCrUseOfPoolManager({
  263. error: Error()
  264. }), PoolManager) : PoolManager).getNode(res); //设置父节点
  265. if (parent) {
  266. n.parent = parent;
  267. } //返回结果
  268. resolve(n);
  269. } catch (error) {
  270. console.error("\u52A0\u8F7D\u8D44\u6E90\u5931\u8D25: " + path, error);
  271. reject(new Error("\u52A0\u8F7D\u8D44\u6E90\u5931\u8D25:: " + path));
  272. }
  273. }));
  274. }
  275. /**
  276. * 购买金币和钻石的动画
  277. * @param type
  278. * @param starNode
  279. * @param targetNode
  280. * @param count
  281. * @param radius
  282. * @param callback
  283. */
  284. static flyAnim(type, starNode, targetNode, count, radius, callback) {
  285. return _asyncToGenerator(function* () {
  286. var getPoint = (r, ox, oy, count) => {
  287. var point = []; //结果
  288. var radians = Math.PI / 180 * Math.round(360 / count),
  289. //弧度
  290. i = 0;
  291. for (; i < count; i++) {
  292. var x = ox + r * Math.sin(radians * i),
  293. y = oy + r * Math.cos(radians * i);
  294. point.unshift(v2(x, y)); //为保持数据顺时针
  295. }
  296. return point;
  297. };
  298. var start = starNode.worldPosition;
  299. var array = getPoint(radius, start.x, start.y, count);
  300. var nodeArray = new Array();
  301. for (var i = 0; i < array.length; i++) {
  302. var ret = yield (_crd && bundleMgr === void 0 ? (_reportPossibleCrUseOfbundleMgr({
  303. error: Error()
  304. }), bundleMgr) : bundleMgr).loadAsset((_crd && Constants === void 0 ? (_reportPossibleCrUseOfConstants({
  305. error: Error()
  306. }), Constants) : Constants).bundleName.prefabs, "items/" + type, Prefab);
  307. var gold = (_crd && PoolManager === void 0 ? (_reportPossibleCrUseOfPoolManager({
  308. error: Error()
  309. }), PoolManager) : PoolManager).getNode(ret);
  310. gold.setWorldScale(v3(0.7, 0.7, 0.7));
  311. gold.parent = (_crd && uiMgr === void 0 ? (_reportPossibleCrUseOfuiMgr({
  312. error: Error()
  313. }), uiMgr) : uiMgr).getCurentSceneRoot();
  314. var randPos = v3(array[i].x + (_crd && Utils === void 0 ? (_reportPossibleCrUseOfUtils({
  315. error: Error()
  316. }), Utils) : Utils).getRandomInt(0, 50), array[i].y + (_crd && Utils === void 0 ? (_reportPossibleCrUseOfUtils({
  317. error: Error()
  318. }), Utils) : Utils).getRandomInt(0, 50), 1);
  319. gold.setWorldPosition(start);
  320. nodeArray.push({
  321. gold,
  322. randPos
  323. });
  324. }
  325. var notPlay = false;
  326. var dstPos = targetNode.worldPosition.clone();
  327. var _loop = function* _loop() {
  328. var pos = nodeArray[_i].randPos;
  329. var node = nodeArray[_i].gold;
  330. nodeArray[_i].gold.id = _i;
  331. tween(node).to(0.2, {
  332. worldPosition: pos
  333. }).delay(_i * 0.03).to(0.7, {
  334. worldPosition: v3(dstPos.x, dstPos.y, 1)
  335. }).call(() => {
  336. if (!notPlay) {
  337. notPlay = true;
  338. tween(targetNode).to(0.1, {
  339. scale: v3(2, 2, 2)
  340. }).to(0.1, {
  341. scale: v3(1, 1, 1)
  342. }).call(() => {
  343. notPlay = false;
  344. }).start();
  345. }
  346. var idx = node["_id"];
  347. callback(idx == nodeArray.length - 1);
  348. (_crd && PoolManager === void 0 ? (_reportPossibleCrUseOfPoolManager({
  349. error: Error()
  350. }), PoolManager) : PoolManager).putNode(node);
  351. }).start();
  352. };
  353. for (var _i = 0; _i < nodeArray.length; _i++) {
  354. yield* _loop();
  355. }
  356. })();
  357. }
  358. }) || _class));
  359. _cclegacy._RF.pop();
  360. _crd = false;
  361. }
  362. };
  363. });
  364. //# sourceMappingURL=6c076b5e6c62c0c2ef2a26a5af4e4966bad45031.js.map