9bebebfb08f0022c7632c37d945a6b2c2328d7f5.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408
  1. System.register(["__unresolved_0", "cc", "__unresolved_1"], function (_export, _context) {
  2. "use strict";
  3. var _reporterNs, _cclegacy, __checkObsolete__, __checkObsoleteInNamespace__, CCString, Component, Enum, log, Node, _decorator, VMEnv, _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _crd, ccclass, property, executeInEditMode, menu, help, ACTION_MODE, MVCompsEdit;
  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 _reportPossibleCrUseOfVMEnv(extras) {
  8. _reporterNs.report("VMEnv", "./VMEnv", _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. Enum = _cc.Enum;
  20. log = _cc.log;
  21. Node = _cc.Node;
  22. _decorator = _cc._decorator;
  23. }, function (_unresolved_2) {
  24. VMEnv = _unresolved_2.VMEnv;
  25. }],
  26. execute: function () {
  27. _crd = true;
  28. _cclegacy._RF.push({}, "2359eFXKF5HFYS74K7Y17/U", "VMCompsEdit", undefined);
  29. __checkObsolete__(['CCString', 'Component', 'Enum', 'log', 'Node', '_decorator']);
  30. ({
  31. ccclass,
  32. property,
  33. executeInEditMode,
  34. menu,
  35. help
  36. } = _decorator);
  37. ACTION_MODE = /*#__PURE__*/function (ACTION_MODE) {
  38. ACTION_MODE[ACTION_MODE["SEARCH_COMPONENT"] = 0] = "SEARCH_COMPONENT";
  39. ACTION_MODE[ACTION_MODE["ENABLE_COMPONENT"] = 1] = "ENABLE_COMPONENT";
  40. ACTION_MODE[ACTION_MODE["REPLACE_WATCH_PATH"] = 2] = "REPLACE_WATCH_PATH";
  41. ACTION_MODE[ACTION_MODE["DELETE_COMPONENT"] = 3] = "DELETE_COMPONENT";
  42. return ACTION_MODE;
  43. }(ACTION_MODE || {});
  44. /**
  45. * 用于搜索的MV 组件列表,挂载在父节点后,
  46. * 会遍历搜索下面的所有MV组件, 并且显示其观察值的路径
  47. */
  48. _export("default", MVCompsEdit = (_dec = menu('OopsFramework/Mvvm/Edit-Comps (快速组件操作)'), _dec2 = help('https://gitee.com/dgflash/oops-framework/wikis/pages?sort_id=12037632&doc_id=2873565'), _dec3 = property({
  49. type: [CCString]
  50. }), _dec4 = property({
  51. type: Enum(ACTION_MODE)
  52. }), _dec5 = property({
  53. tooltip: '勾选后,会自动查找 find list 中填写的组件',
  54. visible: function visible() {
  55. // @ts-ignore
  56. return this.actionType === ACTION_MODE.SEARCH_COMPONENT;
  57. }
  58. }), _dec6 = property({
  59. tooltip: '勾选后,会批量激活 find list 中填写的组件',
  60. visible: function visible() {
  61. // @ts-ignore
  62. return this.actionType === ACTION_MODE.ENABLE_COMPONENT;
  63. }
  64. }), _dec7 = property({
  65. tooltip: '勾选后,会批量关闭 find list 中填写的组件',
  66. visible: function visible() {
  67. // @ts-ignore
  68. return this.actionType === ACTION_MODE.ENABLE_COMPONENT;
  69. }
  70. }), _dec8 = property({
  71. tooltip: '允许删除节点的组件,确定需要移除请勾选,防止误操作',
  72. visible: function visible() {
  73. // @ts-ignore
  74. return this.actionType === ACTION_MODE.DELETE_COMPONENT;
  75. }
  76. }), _dec9 = property({
  77. tooltip: '勾选后,会批量删除 find list 中填写的组件',
  78. displayName: '[ X DELETE X ]',
  79. visible: function visible() {
  80. // @ts-ignore
  81. return this.allowDelete && this.actionType === ACTION_MODE.DELETE_COMPONENT;
  82. }
  83. }), _dec10 = property({
  84. tooltip: '勾选后,会批量替换掉指定的路径',
  85. visible: function visible() {
  86. // @ts-ignore
  87. return this.actionType === ACTION_MODE.REPLACE_WATCH_PATH;
  88. }
  89. }), _dec11 = property({
  90. tooltip: '匹配的路径,匹配规则: 搜索开头为 game的路径',
  91. visible: function visible() {
  92. // @ts-ignore
  93. return this.actionType === ACTION_MODE.REPLACE_WATCH_PATH;
  94. }
  95. }), _dec12 = property({
  96. tooltip: '替换的路径,将匹配到的路径替换',
  97. visible: function visible() {
  98. // @ts-ignore
  99. return this.actionType === ACTION_MODE.REPLACE_WATCH_PATH;
  100. }
  101. }), _dec13 = property({
  102. tooltip: '是否搜集绑定VM组件的节点?',
  103. visible: function visible() {
  104. // @ts-ignore
  105. return this.actionType === ACTION_MODE.SEARCH_COMPONENT;
  106. }
  107. }), _dec14 = property({
  108. type: [Node],
  109. readonly: true,
  110. tooltip: '收集到绑定了VM组件相关的节点,可以自己跳转过去',
  111. visible: function visible() {
  112. // @ts-ignore
  113. return this.canCollectNodes && this.actionType === ACTION_MODE.SEARCH_COMPONENT;
  114. }
  115. }), ccclass(_class = executeInEditMode(_class = _dec(_class = _dec2(_class = (_class2 = class MVCompsEdit extends Component {
  116. constructor() {
  117. super(...arguments);
  118. _initializerDefineProperty(this, "findList", _descriptor, this);
  119. _initializerDefineProperty(this, "actionType", _descriptor2, this);
  120. _initializerDefineProperty(this, "allowDelete", _descriptor3, this);
  121. _initializerDefineProperty(this, "targetPath", _descriptor4, this);
  122. _initializerDefineProperty(this, "replacePath", _descriptor5, this);
  123. _initializerDefineProperty(this, "canCollectNodes", _descriptor6, this);
  124. _initializerDefineProperty(this, "collectNodes", _descriptor7, this);
  125. }
  126. get findTrigger() {
  127. return false;
  128. }
  129. set findTrigger(v) {
  130. this.setComponents(0);
  131. }
  132. get enableTrigger() {
  133. return false;
  134. }
  135. set enableTrigger(v) {
  136. this.setComponents(1);
  137. }
  138. get disableTrigger() {
  139. return false;
  140. }
  141. set disableTrigger(v) {
  142. this.setComponents(2);
  143. }
  144. get deleteTrigger() {
  145. return false;
  146. }
  147. set deleteTrigger(v) {
  148. this.setComponents(3);
  149. }
  150. get replaceTrigger() {
  151. return false;
  152. }
  153. set replaceTrigger(v) {
  154. this.setComponents(4);
  155. }
  156. onLoad() {
  157. if ((_crd && VMEnv === void 0 ? (_reportPossibleCrUseOfVMEnv({
  158. error: Error()
  159. }), VMEnv) : VMEnv).editor) return;
  160. var path = this.getNodePath(this.node);
  161. console.error('you forget delete MVEditFinder,[path]', path);
  162. }
  163. setComponents(state) {
  164. var array = this.findList;
  165. var title = '搜索到当前节点下面的组件';
  166. switch (state) {
  167. case 0:
  168. title = '搜索到当前节点下面的组件';
  169. break;
  170. case 1:
  171. title = '激活以下节点的组件';
  172. break;
  173. case 2:
  174. title = '关闭以下节点的组件';
  175. break;
  176. case 3:
  177. title = '删除以下节点的组件';
  178. break;
  179. case 4:
  180. title = '替换以下节点的路径';
  181. break;
  182. default:
  183. break;
  184. }
  185. log(title);
  186. log('______________________');
  187. array.forEach(name => {
  188. this.searchComponent(name, state);
  189. });
  190. log('______________________');
  191. }
  192. /**
  193. *
  194. * @param className
  195. * @param state 0-查找节点组件 1-激活节点组件 2-关闭节点组件 3-移除节点组件
  196. */
  197. searchComponent(className, state) {
  198. if (state === void 0) {
  199. state = 0;
  200. }
  201. /**收集节点清空 */
  202. this.collectNodes = [];
  203. var comps = this.node.getComponentsInChildren(className);
  204. if (comps == null || comps.length < 1) return;
  205. log('[' + className + ']:');
  206. comps.forEach(v => {
  207. var ext = '';
  208. if (state <= 3) {
  209. //区分模板模式路径
  210. if (v.templateMode === true) {
  211. ext = v.watchPathArr ? ':[Path:' + v.watchPathArr.join('|') + ']' : '';
  212. } else {
  213. ext = v.watchPath ? ':[Path:' + v.watchPath + ']' : '';
  214. }
  215. }
  216. log(this.getNodePath(v.node) + ext);
  217. switch (state) {
  218. case 0:
  219. //寻找组件
  220. if (this.canCollectNodes) {
  221. if (this.collectNodes.indexOf(v.node) === -1) {
  222. this.collectNodes.push(v.node);
  223. }
  224. }
  225. break;
  226. case 1:
  227. // 激活组件
  228. v.enabled = true;
  229. break;
  230. case 2:
  231. // 关闭组件
  232. v.enabled = false;
  233. break;
  234. case 3:
  235. // 删除组件
  236. v.node.removeComponent(v);
  237. break;
  238. case 4:
  239. // 替换指定路径
  240. var targetPath = this.targetPath;
  241. var replacePath = this.replacePath;
  242. if (v.templateMode === true) {
  243. for (var i = 0; i < v.watchPathArr.length; i++) {
  244. var path = v.watchPathArr[i];
  245. v.watchPathArr[i] = this.replaceNodePath(path, targetPath, replacePath);
  246. }
  247. } else {
  248. v.watchPath = this.replaceNodePath(v.watchPath, targetPath, replacePath);
  249. }
  250. default:
  251. break;
  252. }
  253. });
  254. }
  255. replaceNodePath(path, search, replace) {
  256. var pathArr = path.split('.');
  257. var searchArr = search.split('.');
  258. var replaceArr = replace.split('.');
  259. var match = true;
  260. for (var i = 0; i < searchArr.length; i++) {
  261. //未匹配上
  262. if (pathArr[i] !== searchArr[i]) {
  263. match = false;
  264. break;
  265. }
  266. } //匹配成功准备替换路径
  267. if (match === true) {
  268. for (var _i = 0; _i < replaceArr.length; _i++) {
  269. pathArr[_i] = replaceArr[_i];
  270. }
  271. log(' 路径更新:', path, '>>>', pathArr.join('.'));
  272. }
  273. return pathArr.join('.');
  274. }
  275. getNodePath(node) {
  276. var parent = node;
  277. var array = [];
  278. while (parent) {
  279. var p = parent.getParent();
  280. if (p) {
  281. array.push(parent.name);
  282. parent = p;
  283. } else {
  284. break;
  285. }
  286. }
  287. return array.reverse().join('/');
  288. }
  289. }, (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "findList", [_dec3], {
  290. configurable: true,
  291. enumerable: true,
  292. writable: true,
  293. initializer: function initializer() {
  294. return ["VMBase", "VMParent"];
  295. }
  296. }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "actionType", [_dec4], {
  297. configurable: true,
  298. enumerable: true,
  299. writable: true,
  300. initializer: function initializer() {
  301. return ACTION_MODE.SEARCH_COMPONENT;
  302. }
  303. }), _applyDecoratedDescriptor(_class2.prototype, "findTrigger", [_dec5], Object.getOwnPropertyDescriptor(_class2.prototype, "findTrigger"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "enableTrigger", [_dec6], Object.getOwnPropertyDescriptor(_class2.prototype, "enableTrigger"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "disableTrigger", [_dec7], Object.getOwnPropertyDescriptor(_class2.prototype, "disableTrigger"), _class2.prototype), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, "allowDelete", [_dec8], {
  304. configurable: true,
  305. enumerable: true,
  306. writable: true,
  307. initializer: function initializer() {
  308. return false;
  309. }
  310. }), _applyDecoratedDescriptor(_class2.prototype, "deleteTrigger", [_dec9], Object.getOwnPropertyDescriptor(_class2.prototype, "deleteTrigger"), _class2.prototype), _applyDecoratedDescriptor(_class2.prototype, "replaceTrigger", [_dec10], Object.getOwnPropertyDescriptor(_class2.prototype, "replaceTrigger"), _class2.prototype), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, "targetPath", [_dec11], {
  311. configurable: true,
  312. enumerable: true,
  313. writable: true,
  314. initializer: function initializer() {
  315. return 'game';
  316. }
  317. }), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, "replacePath", [_dec12], {
  318. configurable: true,
  319. enumerable: true,
  320. writable: true,
  321. initializer: function initializer() {
  322. return '*';
  323. }
  324. }), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, "canCollectNodes", [_dec13], {
  325. configurable: true,
  326. enumerable: true,
  327. writable: true,
  328. initializer: function initializer() {
  329. return false;
  330. }
  331. }), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, "collectNodes", [_dec14], {
  332. configurable: true,
  333. enumerable: true,
  334. writable: true,
  335. initializer: function initializer() {
  336. return [];
  337. }
  338. })), _class2)) || _class) || _class) || _class) || _class));
  339. _cclegacy._RF.pop();
  340. _crd = false;
  341. }
  342. };
  343. });
  344. //# sourceMappingURL=9bebebfb08f0022c7632c37d945a6b2c2328d7f5.js.map