scene_ex.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. /*
  2. *场景逻辑扩展
  3. *对话框功能扩展
  4. */
  5. 'use strict';
  6. var path = require('path');
  7. var fs = require('fs');
  8. var md5 = require('md5');
  9. module.exports = {
  10. /************* 事件 *************/
  11. messages:
  12. {
  13. // 批量添加组件
  14. 'set-node-comp'(event,comp_name,parent){
  15. if(comp_name == null && comp_name == "") return cc.log("未选中绑定的组件");
  16. let arrNode = parent.getSelectdNodes()
  17. arrNode.forEach((node)=>
  18. {
  19. node.addComponent(comp_name)
  20. })
  21. parent['scene-need-save']();
  22. },
  23. // 批量插入组件
  24. 'add-prefab'(event,info,parent){
  25. let arrNode = parent.getSelectdNodes()
  26. arrNode.forEach((parentNode)=>
  27. {
  28. // 插入个预制节点
  29. Editor.Ipc.sendToPanel("scene","scene:create-nodes-by-uuids",[info.uuid],parentNode.uuid,{unlinkPrefab:undefined});
  30. });
  31. },
  32. // 获得组件
  33. 'get-comps'(event){
  34. // 获得组件名
  35. let list = []
  36. cc._componentMenuItems.forEach((obj)=>
  37. {
  38. let name = obj["menuPath"]
  39. let comp_node = name.substr(name.lastIndexOf("/")+1)
  40. // 非用户脚本
  41. if( name.lastIndexOf('component.scripts') == -1){
  42. comp_node = comp_node.replace("_",".")
  43. comp_node = comp_node.replace(" ","")
  44. if(comp_node.indexOf(".") == -1){
  45. comp_node ="cc."+comp_node
  46. }
  47. }
  48. let item_cfg = {
  49. value: comp_node , // 命令
  50. meta: comp_node, // 描述
  51. score: 0,//搜索优先级
  52. matchMask: 0,
  53. exactMatch: 1,
  54. };
  55. list.push(item_cfg)
  56. })
  57. list = JSON.stringify(list)
  58. event.reply(null,list);
  59. }
  60. }
  61. };