main.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. 'use strict';
  2. const dontSelectCorrectAssetMsg = {
  3. type: 'warning',
  4. buttons: ['OK'],
  5. title: 'warning',
  6. message: 'Please select a UI prefab!',
  7. defaultId: 0,
  8. noLink: true
  9. };
  10. const nodeTree = require('./core/node-tree');
  11. const uiTemplate = require('./core/ui-template');
  12. module.exports = {
  13. load() {
  14. // execute when package loaded
  15. nodeTree.init();
  16. uiTemplate.init();
  17. },
  18. unload() {
  19. // execute when package unloaded
  20. },
  21. // register your ipc messages here
  22. messages: {
  23. 'config'() {
  24. // open entry panel registered in package.json
  25. Editor.Panel.open('ui-creator');
  26. },
  27. 'create-node-tree'() {
  28. let currentSelection = Editor.Selection.curSelection('asset');
  29. if (currentSelection.length <= 0) {
  30. Editor.Dialog.messageBox(dontSelectCorrectAssetMsg);
  31. return;
  32. }
  33. let selectionUUid = currentSelection[0];
  34. let assetInfo = Editor.assetdb.assetInfoByUuid(selectionUUid);
  35. let assetType = assetInfo.type;
  36. if (assetType === 'folder') {
  37. nodeTree.dealFolder(assetInfo);
  38. } else if (assetType === 'prefab' || assetType === 'scene') {
  39. nodeTree.dealPrefab(assetInfo);
  40. } else {
  41. Editor.Dialog.messageBox(dontSelectCorrectAssetMsg);
  42. }
  43. },
  44. 'create-ui-template'() {
  45. let currentSelection = Editor.Selection.curSelection('asset');
  46. if (currentSelection.length <= 0) {
  47. Editor.Dialog.messageBox(dontSelectCorrectAssetMsg);
  48. return;
  49. }
  50. let selectionUUid = currentSelection[0];
  51. let assetInfo = Editor.assetdb.assetInfoByUuid(selectionUUid);
  52. let assetType = assetInfo.type;
  53. if (assetType === 'folder') {
  54. uiTemplate.dealFolder(assetInfo);
  55. } else if (assetType === 'prefab' || assetType === 'scene') {
  56. nodeTree.dealPrefab(assetInfo);
  57. uiTemplate.dealPrefab(assetInfo);
  58. } else {
  59. Editor.Dialog.messageBox(dontSelectCorrectAssetMsg);
  60. }
  61. }
  62. }
  63. };