search_node.ts 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670
  1. import { _decorator, Color, Component, EventTouch, instantiate, Label, Node, Prefab, UITransform, Vec3 } from 'cc';
  2. import { Attributes } from '../Attributes';
  3. import { event_item, widget_item_data } from '../../../data/data';
  4. import { config } from '../../config';
  5. const { ccclass, property } = _decorator;
  6. @ccclass('search_node')
  7. export class search_node extends Component {
  8. @property(Node) btn_close:Node = null;
  9. @property(Node) content:Node = null;
  10. @property(Prefab) item_prefab:Prefab = null;
  11. @property(Node) scrollView:Node = null;
  12. private m_event_item: event_item;
  13. private m_id:number = 0;
  14. public show(eventItem: event_item){
  15. this.m_event_item = eventItem
  16. let search = eventItem.event_id.toString()
  17. this.node.active = true;
  18. this.btn_close.on(Node.EventType.TOUCH_END,()=>{
  19. this.close()
  20. })
  21. this.m_id = parseInt(search)
  22. this.content.removeAllChildren()
  23. let search_data = this.getCurSearchType()
  24. let item = instantiate(this.item_prefab)
  25. item.parent = this.content;
  26. item.getComponent(Label).color = Color.MAGENTA
  27. if(search_data==null){
  28. item.getComponent(Label).string = "当前搜索的id不存在"
  29. }else{
  30. if(search_data.type==0){
  31. item.getComponent(Label).string = `您查找的是控件.\n 控件id:${search_data.widget.att.id}.控件名称:${search_data.widget.name}`
  32. this.finAboutWidgetList(search_data.widget)
  33. }else{
  34. item.getComponent(Label).string = `您查找的是事件.\n 事件id:${search_data.event.event_id}.事件名称:${search_data.event.event_name}`
  35. this.finAboutEventList(search_data.event)
  36. }
  37. }
  38. this.scrollView.off(Node.EventType.TOUCH_MOVE)
  39. // this.scrollView.on(Node.EventType.TOUCH_MOVE,(et:EventTouch)=>{
  40. // let p = new Vec3(et.getUILocation().x,et.getUILocation().y)
  41. // let n_p = this.scrollView.parent.getComponent(UITransform).convertToNodeSpaceAR(p)
  42. // this.scrollView.position = n_p;
  43. // })
  44. if(search_data!=null) {
  45. this.showBinding(search_data)
  46. }
  47. this.showNextSuccessTrigger()
  48. }
  49. private showBinding(search_data) {
  50. let c_event_item:event_item = search_data.event
  51. if(c_event_item==null){
  52. return
  53. }
  54. let c_text = ""
  55. let c_data
  56. switch (c_event_item.type) {
  57. case config.event_type.play_ani: //0播放动画
  58. c_data = c_event_item.event_item_play_ani_data
  59. c_text = `id:${c_data.binding_widget_id} 选中的动画id:${c_data.ani_id}`
  60. break;
  61. case config.event_type.top_view: //1弹窗
  62. c_text = `${c_event_item.event_item_top_view_data.binding_ui_id}`
  63. break;
  64. case config.event_type.top_view_hide: //23弹窗隐藏
  65. c_text = `${c_event_item.event_item_top_view_hide_data.binding_ui_id}`
  66. break;
  67. case config.event_type.text_sound: //2出现文字及语音
  68. c_text = `${c_event_item.event_item_text_sound_data.binding_widget_id}`
  69. break;
  70. case config.event_type.change_one_item_status: //3改变指定道具资源
  71. c_text = `${c_event_item.event_item_change_one_item_status_data.binding_widget_id}`
  72. break;
  73. case config.event_type.show_new_item://4出现新道具
  74. c_text = `${c_event_item.event_item_show_new_item_data.binding_widget_id}`
  75. break;
  76. case config.event_type.show_question_select://5出现问题选择
  77. c_text = `${c_event_item.event_item_show_question_select_data.binding_widget_id}`
  78. break;
  79. case config.event_type.start_event://6开始事件
  80. c_text = `${c_event_item.event_item_start_event_data.binding_event_id}`
  81. break;
  82. case config.event_type.collect_event://7收集事件 多组件完成触发
  83. c_data = c_event_item.event_item_collect_event_data
  84. for(let index = 0; index<c_data.event_id_list.length; index++) {
  85. const element = c_data.event_id_list[index]
  86. c_text += `${element} `
  87. }
  88. break;
  89. case config.event_type.active_event://8激活
  90. c_data = c_event_item.event_item_active_event_data
  91. c_text = `${c_data.binding_widget_id}`
  92. for(let index = 0; index <c_data.binding_widget_list.length; index++) {
  93. const element = c_data.binding_widget_list[index]
  94. let str = `\n${element.binding_widget_id}`
  95. c_text += str
  96. }
  97. break;
  98. case config.event_type.stop_active_event://9停用交互
  99. c_data = c_event_item.event_item_stop_active_event_data
  100. c_text = `${c_data.binding_widget_id}`
  101. for(let index = 0; index <c_data.binding_widget_list.length; index++) {
  102. const element = c_data.binding_widget_list[index]
  103. let str = `\n${element.binding_widget_id}`
  104. c_text += str
  105. }
  106. break;
  107. case config.event_type.countdown_over://10倒计时结束
  108. c_text = `${c_event_item.event_item_countdown_over_data.binding_widget_id}`
  109. break;
  110. case config.event_type.be_event: //11被动触发事件
  111. c_text = `${c_event_item.event_item_be_event_data.binding_widget_id}`
  112. break;
  113. case config.event_type.hide://12触发让控件隐藏
  114. c_data = c_event_item.event_item_hide_data
  115. c_text = `${c_data.binding_widget_id}`
  116. for(let index = 0; index <c_data.binding_widget_list.length; index++) {
  117. const element = c_data.binding_widget_list[index]
  118. let str = `\n${element.binding_widget_id}`
  119. c_text += str
  120. }
  121. break;
  122. case config.event_type.delay_exe_event://13延迟多久执行一个事件
  123. c_text = `${c_event_item.event_item_delay_exe_data.binding_event_id}`
  124. break;
  125. case config.event_type.fail_event://14失败
  126. c_data = c_event_item.event_item_fail_event_data
  127. let is_relife_str = c_data.is_relife ? '是' : '否'
  128. let is_show_animation_str = c_data.is_show_animation ? '是' : '否'
  129. c_text = `是否可以复活:${is_relife_str} 是否显示动画:${is_show_animation_str}`
  130. break;
  131. case config.event_type.play_sound://15播放一个音效
  132. c_data =c_event_item.event_item_play_sound_data
  133. let isLoop_str = c_data.isLoop ? '是' : '否'
  134. c_text = `是否循环:${isLoop_str} 音量:${c_data.volume}`
  135. break;
  136. case config.event_type.show_scene_title://16显示场景的标签
  137. c_text = `${c_event_item.event_item_show_scene_title_data.title}`
  138. break;
  139. case config.event_type.scene_ani://17场景动画
  140. c_text = `${c_event_item.event_item_scene_ani.ani_id}`
  141. break;
  142. case config.event_type.delete_drag_other_data://18删除其他拖拽目标的属性
  143. c_data = c_event_item.event_item_delete_drag_other_data
  144. c_text = `${c_data.widget_id} 索引${c_data.delete_drag_other_index}`
  145. for(let index = 0; index <c_data.widget_list.length; index++) {
  146. const element = c_data.widget_list[index]
  147. let str = `\n${element.widget_id} 索引${element.delete_drag_other_index}`
  148. c_text += str
  149. }
  150. break;
  151. case config.event_type.stop_play_loop_sound://19停止一个音效
  152. c_text = `${c_event_item.event_item_stop_play_loop_sound_data.res}`
  153. break;
  154. case config.event_type.switch_scene_event://20切换场景
  155. let direction = c_event_item.event_item_switch_scene_event_data.direction
  156. let direction_str = '按钮-无'
  157. if(direction == config.switch_scene_page_direction.up) {
  158. direction_str = '按钮-上'
  159. } else if(direction == config.switch_scene_page_direction.down) {
  160. direction_str = '按钮-下'
  161. } else if(direction == config.switch_scene_page_direction.left) {
  162. direction_str = '按钮-左'
  163. } else if(direction == config.switch_scene_page_direction.right) {
  164. direction_str = '按钮-右'
  165. }
  166. let executeOnlyOnce_string = c_event_item.event_item_switch_scene_event_data.executeOnlyOnce ? '是' : '否'
  167. c_text = `方向:${direction_str} 页数:${c_event_item.event_item_switch_scene_event_data.binding_page_index+1} 仅执行一次:${executeOnlyOnce_string}`
  168. break;
  169. case config.event_type.more_scene_is_show_arrow_event://21多场景-是否显示箭头
  170. c_text = c_event_item.event_item_more_scene_is_show_arrow_event_data.is_show ? '是' : '否'
  171. break;
  172. case config.event_type.more_scene_jump_assigned_page_event://22多场景-跳转指定页数事件
  173. c_text = `页数:${c_event_item.event_item_more_scene_jump_assigned_page_event_data.page_number}`
  174. break;
  175. case config.event_type.top_view_hide://23弹窗隐藏
  176. c_text = `${c_event_item.event_item_top_view_hide_data.binding_ui_id}`
  177. break;
  178. case config.event_type.collect_event_score: //24收集多个事件-分数
  179. let collect_event_score_data = c_event_item.event_item_collect_event_score_data
  180. let event_id_str = ''
  181. for (let index = 0; index < collect_event_score_data.event_id_list.length; index++) {
  182. const element = collect_event_score_data.event_id_list[index];
  183. let str = `${element}`
  184. if(collect_event_score_data.event_id_list.length>0) {
  185. if(index<collect_event_score_data.event_id_list.length-1) { str += ' ' }
  186. }
  187. event_id_str += str
  188. }
  189. if(collect_event_score_data.max_score==undefined) {
  190. collect_event_score_data.max_score = 0
  191. }
  192. c_text = `总分数:${collect_event_score_data.total_score},最大分数${collect_event_score_data.max_score},事件id:[${event_id_str}]`
  193. break
  194. case config.event_type.collect_widget_score: //25收集多个控件-分数
  195. let collect_widget_score_data = c_event_item.event_item_collect_widget_score_data
  196. let widget_id_str = ''
  197. for (let index = 0; index < collect_widget_score_data.widget_id_list.length; index++) {
  198. const element = collect_widget_score_data.widget_id_list[index];
  199. let str = `${element}`
  200. if(collect_widget_score_data.widget_id_list.length>0) {
  201. if(index<collect_widget_score_data.widget_id_list.length-1) { str += ' ' }
  202. }
  203. widget_id_str += str
  204. }
  205. if(collect_widget_score_data.max_score==undefined) {
  206. collect_widget_score_data.max_score = 0
  207. }
  208. c_text = `总分数:${collect_widget_score_data.total_score},最大分数${collect_widget_score_data.max_score},控件id:[${widget_id_str}]`
  209. break
  210. case config.event_type.delete_collect_widget_score_assigned_widget://25删除收集控件-分数的指定控件
  211. let delete_widget_list = c_event_item.event_item_delete_collect_widget_score_assigned_widget_data.widget_id_list
  212. let delete_widget_id_str = ''
  213. for (let index = 0; index <delete_widget_list.length; index++) {
  214. const element = delete_widget_list[index];
  215. let str = `${element}`
  216. if(delete_widget_list.length>0) {
  217. if(index<delete_widget_list.length-1) { str += ' ' }
  218. }
  219. delete_widget_id_str += str
  220. }
  221. c_text = `控件id:[${delete_widget_id_str}]`
  222. break
  223. case config.event_type.event_group://100事件组
  224. let line_feed_str = '\n'
  225. let event_list = c_event_item.event_item_event_group_data.list
  226. if(event_list.length>0) {
  227. for(let index = 0; index<event_list.length; index++) {
  228. const element = event_list[index]
  229. let before = ''
  230. if(index==0) { before = line_feed_str }
  231. let last = line_feed_str
  232. if(index==event_list.length-1) { last = ''}
  233. let str = `${before}延时${element.delay_time}s 执行:事件名:${element.event_item.event_name}-id:${element.event_item.event_id}${last}`
  234. c_text += str
  235. }
  236. } else {
  237. c_text = `空`
  238. }
  239. break
  240. }
  241. if(c_text!="") {
  242. let c_title = config.get_event_type_name(c_event_item.type)
  243. let item = instantiate(this.item_prefab)
  244. item.parent = this.content;
  245. item.getComponent(Label).color = Color.BLACK
  246. item.getComponent(Label).string = "\n当前绑定-> " + c_title + ": " + c_text
  247. }
  248. }
  249. private showNextSuccessTrigger() {
  250. let text = ''
  251. if(this.m_event_item.success.trigger_event_id==-1) {
  252. text = "\n暂未设置触发下个事件的id"
  253. } else {
  254. text = `\n触发下个事件的id${this.m_event_item.success.trigger_event_id}`
  255. }
  256. let item = instantiate(this.item_prefab)
  257. item.parent = this.content;
  258. item.getComponent(Label).color = Color.RED
  259. item.getComponent(Label).string = text
  260. // let event_list = Attributes.Singleton.getEventList()
  261. // for (let index = 0; index < event_list.length; index++) {
  262. // const element = event_list[index];
  263. // if(element.event_id == this.m_event_item.success.trigger_event_id) {
  264. // console.log('type=',element.type)
  265. // break
  266. // }
  267. // }
  268. }
  269. findAboutWidgetListForEventId(event:event_item){
  270. let temp_list = []
  271. let drag_list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.DRAG_TYPE)
  272. for (let index = 0; index < drag_list.length; index++) {
  273. const drag_item = drag_list[index];
  274. if(drag_item.att.drag_data.other_widget_finish_listen_list!=undefined){
  275. for (let index = 0; index < drag_item.att.drag_data.other_widget_finish_listen_list.length; index++) {
  276. const element = drag_item.att.drag_data.other_widget_finish_listen_list[index];
  277. // if(element.widget_id===widget_id){
  278. // let item = instantiate(this.item_prefab)
  279. // item.parent = this.content;
  280. // item.getComponent(Label).color = Color.GREEN
  281. // item.getComponent(Label).string = `被拖拽控件id:${drag_item.att.id}监听`
  282. // }
  283. if(element.event_id==event.event_id){
  284. temp_list.push({widget_id:drag_item.att.id})
  285. }
  286. }
  287. }
  288. if(drag_item.att.drag_data.other_drag_list!=undefined){
  289. for (let index = 0; index < drag_item.att.drag_data.other_drag_list.length; index++) {
  290. const element = drag_item.att.drag_data.other_drag_list[index];
  291. if(element.other_event_id==event.event_id){
  292. temp_list.push({widget_id:drag_item.att.id})
  293. }
  294. }
  295. }
  296. }
  297. let click_list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.CLICK_TYPE)
  298. for (let index = 0; index < click_list.length; index++) {
  299. const drag_item = click_list[index];
  300. if(drag_item.att.click_data.other_widget_finish_listen_list!=undefined){
  301. for (let index = 0; index < drag_item.att.click_data.other_widget_finish_listen_list.length; index++) {
  302. const element = drag_item.att.click_data.other_widget_finish_listen_list[index];
  303. if(element.event_id==event.event_id){
  304. temp_list.push({widget_id:drag_item.att.id})
  305. }
  306. }
  307. }
  308. }
  309. let slide_list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.SLIDE_TYPE)
  310. for (let index = 0; index < slide_list.length; index++) {
  311. const drag_item = slide_list[index];
  312. if(drag_item.att.slide_data.other_widget_finish_listen_list!=undefined){
  313. for (let index = 0; index < drag_item.att.slide_data.other_widget_finish_listen_list.length; index++) {
  314. const element = drag_item.att.slide_data.other_widget_finish_listen_list[index];
  315. if(element.event_id==event.event_id){
  316. temp_list.push({widget_id:drag_item.att.id})
  317. }
  318. }
  319. }
  320. }
  321. return temp_list
  322. }
  323. finAboutWidgetList(widget:widget_item_data){
  324. let widget_id = widget.att.id;
  325. let drag_list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.DRAG_TYPE)
  326. for (let index = 0; index < drag_list.length; index++) {
  327. const drag_item = drag_list[index];
  328. if(drag_item.att.drag_data.other_widget_finish_listen_list!=undefined){
  329. for (let index = 0; index < drag_item.att.drag_data.other_widget_finish_listen_list.length; index++) {
  330. const element = drag_item.att.drag_data.other_widget_finish_listen_list[index];
  331. if(element.widget_id===widget_id){
  332. let item = instantiate(this.item_prefab)
  333. item.parent = this.content;
  334. item.getComponent(Label).color = Color.GREEN
  335. item.getComponent(Label).string = `被拖拽控件id:${drag_item.att.id}监听`
  336. }
  337. }
  338. }
  339. }
  340. let click_list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.CLICK_TYPE)
  341. for (let index = 0; index < click_list.length; index++) {
  342. const drag_item = click_list[index];
  343. if(drag_item.att.click_data.other_widget_finish_listen_list!=undefined){
  344. for (let index = 0; index < drag_item.att.click_data.other_widget_finish_listen_list.length; index++) {
  345. const element = drag_item.att.click_data.other_widget_finish_listen_list[index];
  346. if(element.widget_id===widget_id){
  347. let item = instantiate(this.item_prefab)
  348. item.parent = this.content;
  349. item.getComponent(Label).color = Color.GREEN
  350. item.getComponent(Label).string = `被点击控件id:${drag_item.att.id}监听`
  351. }
  352. }
  353. }
  354. }
  355. let slide_list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.SLIDE_TYPE)
  356. for (let index = 0; index < slide_list.length; index++) {
  357. const drag_item = slide_list[index];
  358. if(drag_item.att.slide_data.other_widget_finish_listen_list!=undefined){
  359. for (let index = 0; index < drag_item.att.slide_data.other_widget_finish_listen_list.length; index++) {
  360. const element = drag_item.att.slide_data.other_widget_finish_listen_list[index];
  361. if(element.widget_id===widget_id){
  362. let item = instantiate(this.item_prefab)
  363. item.parent = this.content;
  364. item.getComponent(Label).color = Color.GREEN
  365. item.getComponent(Label).string = `被滑动控件id:${drag_item.att.id}监听`
  366. }
  367. }
  368. }
  369. }
  370. let event_list = Attributes.Singleton.getEventList()
  371. for (let index = 0; index < event_list.length; index++) {
  372. const event = event_list[index];
  373. switch (event.type) {
  374. case config.event_type.play_ani:
  375. if(event.event_item_play_ani_data.binding_widget_id==widget_id){
  376. let item = instantiate(this.item_prefab)
  377. item.parent = this.content;
  378. item.getComponent(Label).color = Color.BLUE
  379. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  380. }
  381. break;
  382. case config.event_type.top_view:
  383. if(event.event_item_top_view_data.binding_ui_id===widget_id){
  384. let item = instantiate(this.item_prefab)
  385. item.parent = this.content;
  386. item.getComponent(Label).color = Color.BLUE
  387. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  388. }
  389. break;
  390. case config.event_type.top_view_hide:
  391. if(event.event_item_top_view_hide_data.binding_ui_id===widget_id){
  392. let item = instantiate(this.item_prefab)
  393. item.parent = this.content;
  394. item.getComponent(Label).color = Color.BLUE
  395. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  396. }
  397. break;
  398. case config.event_type.text_sound:
  399. if(event.event_item_text_sound_data.binding_widget_id===widget_id){
  400. let item = instantiate(this.item_prefab)
  401. item.parent = this.content;
  402. item.getComponent(Label).color = Color.BLUE
  403. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  404. }
  405. break;
  406. case config.event_type.change_one_item_status:
  407. if(event.event_item_change_one_item_status_data.binding_widget_id===widget_id){
  408. let item = instantiate(this.item_prefab)
  409. item.parent = this.content;
  410. item.getComponent(Label).color = Color.BLUE
  411. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  412. }
  413. break;
  414. case config.event_type.show_new_item:
  415. if(event.event_item_show_new_item_data.binding_widget_id===widget_id){
  416. let item = instantiate(this.item_prefab)
  417. item.parent = this.content;
  418. item.getComponent(Label).color = Color.BLUE
  419. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  420. }
  421. break;
  422. case config.event_type.show_question_select:
  423. if(event.event_item_show_question_select_data.binding_widget_id===widget_id){
  424. let item = instantiate(this.item_prefab)
  425. item.parent = this.content;
  426. item.getComponent(Label).color = Color.BLUE
  427. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  428. }
  429. break;
  430. case config.event_type.active_event:
  431. if(event.event_item_active_event_data.binding_widget_id===widget_id){
  432. let item = instantiate(this.item_prefab)
  433. item.parent = this.content;
  434. item.getComponent(Label).color = Color.BLUE
  435. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  436. }
  437. break;
  438. case config.event_type.stop_active_event:
  439. if(event.event_item_stop_active_event_data.binding_widget_id===widget_id){
  440. let item = instantiate(this.item_prefab)
  441. item.parent = this.content;
  442. item.getComponent(Label).color = Color.BLUE
  443. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  444. }
  445. break;
  446. case config.event_type.countdown_over:
  447. if(event.event_item_countdown_over_data.binding_widget_id===widget_id){
  448. let item = instantiate(this.item_prefab)
  449. item.parent = this.content;
  450. item.getComponent(Label).color = Color.BLUE
  451. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  452. }
  453. break;
  454. case config.event_type.be_event:
  455. if(event.event_item_be_event_data.binding_widget_id===widget_id){
  456. let item = instantiate(this.item_prefab)
  457. item.parent = this.content;
  458. item.getComponent(Label).color = Color.BLUE
  459. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  460. }
  461. break;
  462. case config.event_type.hide:
  463. if(event.event_item_hide_data.binding_widget_id===widget_id){
  464. let item = instantiate(this.item_prefab)
  465. item.parent = this.content;
  466. item.getComponent(Label).color = Color.BLUE
  467. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  468. }
  469. break;
  470. case config.event_type.delete_drag_other_data:
  471. if(event.event_item_delete_drag_other_data.widget_id===widget_id){
  472. let item = instantiate(this.item_prefab)
  473. item.parent = this.content;
  474. item.getComponent(Label).color = Color.BLUE
  475. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  476. }
  477. break;
  478. case config.event_type.top_view_hide:
  479. if(event.event_item_top_view_hide_data.binding_ui_id===widget_id){
  480. let item = instantiate(this.item_prefab)
  481. item.parent = this.content;
  482. item.getComponent(Label).color = Color.BLUE
  483. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  484. }
  485. break;
  486. }
  487. }
  488. }
  489. finAboutEventList(event:event_item){
  490. let event_id = event.event_id;
  491. let event_list = Attributes.Singleton.getEventList()
  492. let beUseWidgetList = this.findAboutWidgetListForEventId(event)
  493. for (let index = 0; index < beUseWidgetList.length; index++) {
  494. const element = beUseWidgetList[index];
  495. let item = instantiate(this.item_prefab)
  496. item.parent = this.content;
  497. item.getComponent(Label).string = `被控件id:${element.widget_id}使用`
  498. }
  499. for (let index = 0; index < event_list.length; index++) {
  500. const event = event_list[index];
  501. if(event.success.trigger_event_id==event_id){
  502. let item = instantiate(this.item_prefab)
  503. item.parent = this.content;
  504. item.getComponent(Label).color = Color.BLUE
  505. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  506. }
  507. switch (event.type) {
  508. case config.event_type.show_question_select:
  509. let question_list = event.event_item_show_question_select_data.question_list;
  510. for (let index = 0; index < question_list.length; index++) {
  511. const i = question_list[index];
  512. if(i.binding_event_id===event_id){
  513. let item = instantiate(this.item_prefab)
  514. item.parent = this.content;
  515. item.getComponent(Label).color = Color.BLUE
  516. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  517. }
  518. }
  519. break;
  520. case config.event_type.start_event:
  521. if(event_id ===event.event_item_start_event_data.binding_event_id){
  522. let item = instantiate(this.item_prefab)
  523. item.parent = this.content;
  524. item.getComponent(Label).color = Color.BLUE
  525. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  526. }
  527. break;
  528. case config.event_type.collect_event:
  529. let event_id_list = event.event_item_collect_event_data.event_id_list
  530. for (let index = 0; index < event_id_list.length; index++) {
  531. const element = event_id_list[index];
  532. if(element===event_id){
  533. let item = instantiate(this.item_prefab)
  534. item.parent = this.content;
  535. item.getComponent(Label).color = Color.BLUE
  536. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  537. }
  538. }
  539. break;
  540. case config.event_type.delay_exe_event:
  541. if(event.event_item_delay_exe_data.binding_event_id==event_id){
  542. let item = instantiate(this.item_prefab)
  543. item.parent = this.content;
  544. item.getComponent(Label).color = Color.BLUE
  545. item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
  546. }
  547. break;
  548. }
  549. }
  550. let drag_list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.DRAG_TYPE)
  551. for (let index = 0; index < drag_list.length; index++) {
  552. const drag_item = drag_list[index];
  553. if(drag_item.att.drag_data.other_widget_finish_listen_list!=undefined){
  554. for (let index = 0; index < drag_item.att.drag_data.other_widget_finish_listen_list.length; index++) {
  555. const element = drag_item.att.drag_data.other_widget_finish_listen_list[index];
  556. if(element.event_id===event_id){
  557. let item = instantiate(this.item_prefab)
  558. item.parent = this.content;
  559. item.getComponent(Label).color = Color.GREEN
  560. item.getComponent(Label).string = `被拖拽控件id:${drag_item.att.id}调用`
  561. }
  562. }
  563. }
  564. }
  565. let top_list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.UI_TOP)
  566. for (let index = 0; index < top_list.length; index++) {
  567. const top_item = top_list[index];
  568. if(top_item.att.top_data.close_event_id===event_id){
  569. let item = instantiate(this.item_prefab)
  570. item.parent = this.content;
  571. item.getComponent(Label).color = Color.GREEN
  572. item.getComponent(Label).string = `被弹窗件id:${top_item.att.id}调用`
  573. }
  574. if(top_item.att.top_data.finish_event_id===event_id){
  575. let item = instantiate(this.item_prefab)
  576. item.parent = this.content;
  577. item.getComponent(Label).color = Color.GREEN
  578. item.getComponent(Label).string = `被弹窗件id:${top_item.att.id}调用`
  579. }
  580. if(top_item.att.top_data.fail_event_id===event_id){
  581. let item = instantiate(this.item_prefab)
  582. item.parent = this.content;
  583. item.getComponent(Label).color = Color.GREEN
  584. item.getComponent(Label).string = `被弹窗件id:${top_item.att.id}调用`
  585. }
  586. }
  587. }
  588. public getCurSearchType(id:number=this.m_id){
  589. let widget_list = Attributes.Singleton.get_cur_scene_all_widget()
  590. let widget:widget_item_data = null;
  591. for (let index = 0; index < widget_list.length; index++) {
  592. const element = widget_list[index];
  593. if(id==element.att.id){
  594. widget = element;
  595. break;
  596. }
  597. }
  598. let event:event_item = null;
  599. if(widget==null){
  600. let event_list = Attributes.Singleton.getEventList()
  601. for (let index = 0; index < event_list.length; index++) {
  602. const element = event_list[index];
  603. if(id==element.event_id){
  604. event = element;
  605. break;
  606. }
  607. }
  608. if(event!=null){
  609. return {"event":event,"type":1}
  610. }
  611. }else{
  612. return {"widget":widget,"type":0}
  613. }
  614. return null;
  615. }
  616. public close(){
  617. this.node.active = false;
  618. }
  619. }