Attributes.ts 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574
  1. import { _decorator, Component, Director, director, instantiate, Node, Size, Vec2, Vec3 } from 'cc';
  2. import { ClientEvent } from '../clientEvent';
  3. import { config } from '../config';
  4. import { att_ani_data, att_click_data, att_count_down, att_drag_data, att_question_select, att_text_sound_data, att_top_data, attributes_data, scene_tips_rule_data, widget_item_data } from '../../data/data';
  5. import { attributes_name } from './attributes/attributes_name';
  6. import { attributes_x_y } from './attributes/attributes_x_y';
  7. import { attributes_w_h } from './attributes/attributes_w_h';
  8. import { attributes_res } from './attributes/attributes_res';
  9. import { main } from '../main';
  10. import { attributes_origin } from './attributes/attributes_origin';
  11. import { attributes_delete } from './attributes/attributes_delete';
  12. import { attributes_drop } from './attributes/attributes_drop';
  13. import { attributes_slide } from './attributes/attributes_slide';
  14. import { attributes_click } from './attributes/attributes_click';
  15. import { attributes_be_active } from './attributes/attributes_be_active';
  16. import { attributes_animation } from './attributes/attributes_animation';
  17. import { attributes_active } from './attributes/attributes_active';
  18. import { tools } from '../tools';
  19. import { attributes_top } from './attributes/attributes_top';
  20. import { attributes_text_sound } from './attributes/attributes_text_sound';
  21. import { attributes_question_select } from './attributes/attributes_question_select';
  22. import { attributes_count_down } from './attributes/attributes_count_down';
  23. import { attributes_z_index } from './attributes/attributes_z_index';
  24. import { attributes_dir } from './attributes/attributes_dir';
  25. import { attributes_show } from './attributes/attributes_show';
  26. import { attributes_scene_setting } from './attributes/attributes_scene_setting';
  27. const { ccclass, property } = _decorator;
  28. @ccclass('Attributes')
  29. export class Attributes extends Component {
  30. private attributes_map:Map<string,Node> = new Map
  31. @property(Node) attributes_name:Node = null;
  32. @property(Node) attributes_x_y:Node = null;
  33. @property(Node) attributes_w_h:Node = null;
  34. @property(Node) attributes_res:Node = null;
  35. @property(Node) attributes_origin:Node = null;
  36. @property(Node) attributes_be_event:Node = null; //被动事件
  37. @property(Node) attributes_animation:Node = null; //动画
  38. @property(Node) attributes_drop:Node = null;
  39. @property(Node) attributes_click:Node = null;
  40. @property(Node) attributes_slide:Node = null;
  41. @property(Node) attributes_delete:Node = null;
  42. @property(Node) attributes_be_active:Node = null;
  43. @property(Node) attributes_active:Node = null;
  44. @property(Node) attributes_top:Node = null;
  45. @property(Node) attributes_text_sound:Node = null;
  46. @property(Node) attributes_question_select:Node = null;
  47. @property(Node) attributes_count_down:Node = null;
  48. @property(Node) attributes_z_index:Node = null;
  49. @property(Node) attributes_dir:Node = null;
  50. @property(Node) attributes_show:Node = null;
  51. @property(Node) attributes_scene_setting:Node = null;
  52. @property(Node) content:Node = null;
  53. private cur_att_data:attributes_data = null;
  54. private _main:main = null;
  55. public static Singleton:Attributes = null;
  56. start() {
  57. Attributes.Singleton = this;
  58. ClientEvent.on(config.Event.UpdateAttributes,this.UpdateAttributes,this)
  59. ClientEvent.on(config.Event.ShowWidgetList,this.ShowWidgetList,this)
  60. this.attributes_map.set("name",this.attributes_name)
  61. this.attributes_map.set("pos",this.attributes_x_y)
  62. this.attributes_map.set("size",this.attributes_w_h)
  63. this.attributes_map.set("url",this.attributes_res)
  64. this.attributes_map.set("origin",this.attributes_origin)
  65. // this.attributes_map.set("be_event",this.attributes_be_event)
  66. this.attributes_map.set("animation",this.attributes_animation)
  67. this.attributes_map.set("drop",this.attributes_drop)
  68. this.attributes_map.set("click",this.attributes_click)
  69. this.attributes_map.set("slide",this.attributes_slide)
  70. this.attributes_map.set("delete",this.attributes_delete)
  71. this.attributes_map.set("be_active",this.attributes_be_active)
  72. this.attributes_map.set("active",this.attributes_active)
  73. this.attributes_map.set("top",this.attributes_top)
  74. this.attributes_map.set("text_sound",this.attributes_text_sound)
  75. this.attributes_map.set("question_select",this.attributes_question_select)
  76. this.attributes_map.set("count_down",this.attributes_count_down)
  77. this.attributes_map.set("z_index",this.attributes_z_index)
  78. this.attributes_map.set("dir",this.attributes_dir)
  79. this.attributes_map.set("show",this.attributes_show)
  80. this.attributes_map.set("scene_set",this.attributes_scene_setting)
  81. this.attributes_scene_setting.getComponent(attributes_scene_setting).initView(this.onChangSceneTipsRuleStatus.bind(this))
  82. this.attributes_show.getComponent(attributes_show).initView(this.onChangShowStatus.bind(this))
  83. this.attributes_dir.getComponent(attributes_dir).initView(this.onChangeDir.bind(this))
  84. this.attributes_z_index.getComponent(attributes_z_index).initView(this.onChangeZIndex.bind(this))
  85. this.attributes_count_down.getComponent(attributes_count_down).initView(this.onChangeCountDown.bind(this))
  86. this.attributes_question_select.getComponent(attributes_question_select).initView(this.onChangeQuestionSelect.bind(this))
  87. this.attributes_text_sound.getComponent(attributes_text_sound).initView(this.onChangeTextSound.bind(this))
  88. this.attributes_top.getComponent(attributes_top).initView(this.onChangeTop.bind(this))
  89. this.attributes_active.getComponent(attributes_active).initView(this.onChangeActive.bind(this))
  90. this.attributes_animation.getComponent(attributes_animation).initView(this.onChangeAnimation.bind(this))
  91. this.attributes_be_active.getComponent(attributes_be_active).initView(this.onChangBeActiveStatus.bind(this))
  92. this.attributes_click.getComponent(attributes_click).initView(this.onChangClick.bind(this))
  93. this.attributes_slide.getComponent(attributes_slide).initView(this.onChangSlide.bind(this))
  94. this.attributes_drop.getComponent(attributes_drop).initView(this.onChangDrag.bind(this),this.onChangDragErrBackStatus.bind(this))
  95. this.attributes_delete.getComponent(attributes_delete).initView(this.onDelete.bind(this))
  96. this.attributes_w_h.getComponent(attributes_w_h).initView(this.onChangeSize.bind(this))
  97. this.attributes_x_y.getComponent(attributes_x_y).initView(this.onChangePos.bind(this))
  98. this.attributes_origin.getComponent(attributes_origin).initView(this.onChangeOrigin.bind(this))
  99. this.hideAllAtt()
  100. }
  101. onChangSceneTipsRuleStatus(data:scene_tips_rule_data){
  102. this.cur_att_data.scene_rule_tips_data = data;
  103. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.scene_rule_tips)
  104. }
  105. onChangShowStatus(show:boolean){
  106. this.cur_att_data.is_show = show;
  107. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.show)
  108. }
  109. onChangeDir(dir:number){
  110. this.cur_att_data.img_dir = dir;
  111. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.dir)
  112. }
  113. onChangeZIndex(zIndex:number){
  114. this.cur_att_data.zIndex = zIndex;
  115. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.zIndex)
  116. }
  117. onChangeCountDown(data:att_count_down){
  118. this.cur_att_data.count_down = data;
  119. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.count_down)
  120. }
  121. onChangeQuestionSelect(data:att_question_select){
  122. this.cur_att_data.question_select = data;
  123. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.question_select)
  124. }
  125. onChangeTextSound(data:att_text_sound_data){
  126. this.cur_att_data.text_sound_data = data;
  127. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.text_sound)
  128. }
  129. onChangeTop(data:att_top_data){
  130. this.cur_att_data.top_data = data;
  131. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.top)
  132. }
  133. onChangeActive(active:boolean){
  134. this.cur_att_data.edit_active = active;
  135. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.active)
  136. }
  137. onChangeAnimation(ani_list:att_ani_data[]){
  138. this.cur_att_data.animation_list = ani_list;
  139. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.animation)
  140. }
  141. onChangBeActiveStatus(is_be_active:boolean){
  142. this.cur_att_data.is_interaction = is_be_active;
  143. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.is_interaction)
  144. }
  145. onChangClick(data:att_click_data){
  146. this.cur_att_data.click_data = data;
  147. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.click)
  148. }
  149. onChangSlide(dir:number,num:number,distance:number){
  150. this.cur_att_data.slide_data.slide_dir = dir;
  151. this.cur_att_data.slide_data.slide_num = num;
  152. this.cur_att_data.slide_data.slide_distance = distance;
  153. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.slide)
  154. }
  155. onChangDragErrBackStatus(b:boolean){
  156. this.cur_att_data.drag_data.is_err_drag_back = b;
  157. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.drag_err_back_status)
  158. }
  159. onChangDrag(data:att_drag_data){
  160. this.cur_att_data.drag_data = data;
  161. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.drag)
  162. }
  163. onDelete(){
  164. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.delete)
  165. }
  166. onChangeOrigin(){
  167. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.origin)
  168. }
  169. onChangePos(pos:Vec3){
  170. this.cur_att_data.x = pos.x;
  171. this.cur_att_data.y =pos.y;
  172. this.cur_att_data.z =pos.z;
  173. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.pos)
  174. }
  175. onChangeSize(size:Size){
  176. this.cur_att_data.width = size.width;
  177. this.cur_att_data.height =size.height;
  178. ClientEvent.dispatchEvent(config.Event.UpdateAttributesToView,this.cur_att_data,config.attributes_list_type.size)
  179. }
  180. public initView(m:main){
  181. this._main = m;
  182. }
  183. UpdateAttributes(data:attributes_data){
  184. this.cur_att_data = data;
  185. if(data!=null){
  186. this.showAllAtt()
  187. this.attributes_map.get("scene_set").active = false;
  188. if(data.type===config.attributes_type.widget){
  189. this.attributes_map.get("drop").active = false;
  190. this.attributes_map.get("click").active = false;
  191. this.attributes_map.get("slide").active = false;
  192. this.attributes_map.get("top").active = false;
  193. this.attributes_map.get("question_select").active = false;
  194. this.attributes_map.get("text_sound").active = false;
  195. this.attributes_map.get("count_down").active = false;
  196. this.attributes_map.get("z_index").active = false;
  197. if(data.widget_type===config.Widget_Type_List.DRAG_TYPE){
  198. this.attributes_map.get("drop").active = true;
  199. }else if(data.widget_type===config.Widget_Type_List.CLICK_TYPE){
  200. this.attributes_map.get("click").active = true;
  201. }else if(data.widget_type===config.Widget_Type_List.IMG_TYPE){
  202. this.attributes_map.get("animation").active = false;
  203. }else if(data.widget_type===config.Widget_Type_List.SLIDE_TYPE){
  204. this.attributes_map.get("slide").active = true;
  205. }else if(data.widget_type===config.Widget_Type_List.UI_TOP){
  206. this.attributes_map.get("top").active = true;
  207. this.attributes_map.get("animation").active = false;
  208. this.attributes_map.get("origin").active = false;
  209. this.attributes_map.get("url").active = false;
  210. this.attributes_map.get("pos").active = false;
  211. this.attributes_map.get("size").active = false;
  212. }else if(data.widget_type===config.Widget_Type_List.TEXT_SOUND){
  213. this.attributes_map.get("animation").active = false;
  214. this.attributes_map.get("origin").active = false;
  215. this.attributes_map.get("url").active = false;
  216. this.attributes_map.get("pos").active = false;
  217. this.attributes_map.get("size").active = false;
  218. this.attributes_map.get("text_sound").active = true;
  219. }else if(data.widget_type===config.Widget_Type_List.QUESTION_SELECT){
  220. this.attributes_map.get("animation").active = false;
  221. this.attributes_map.get("origin").active = false;
  222. this.attributes_map.get("url").active = false;
  223. this.attributes_map.get("pos").active = false;
  224. this.attributes_map.get("size").active = false;
  225. this.attributes_map.get("pos").active = true;
  226. this.attributes_map.get("question_select").active = true;
  227. }else if(data.widget_type===config.Widget_Type_List.COUNT_DOWN){
  228. this.attributes_map.get("animation").active = false;
  229. this.attributes_map.get("origin").active = false;
  230. this.attributes_map.get("url").active = false;
  231. this.attributes_map.get("pos").active = true;
  232. this.attributes_map.get("size").active = false;
  233. this.attributes_map.get("count_down").active = true;
  234. }
  235. }else if(data.type===config.attributes_type.scene){
  236. this.hideAllAtt()
  237. this.attributes_map.get("name").active = true;
  238. this.attributes_map.get("size").active = true;
  239. this.attributes_map.get("url").active = true;
  240. this.attributes_map.get("animation").active = true;
  241. this.attributes_map.get("scene_set").active = true;
  242. }
  243. this.scheduleOnce(()=>{
  244. this.updateAttInfo()
  245. },0.1)
  246. }else{
  247. this.hideAllAtt()
  248. }
  249. }
  250. updateAttInfo(){
  251. if(this.cur_att_data!=null){
  252. let name = this.getNameCom()
  253. name.update_att(`${this.cur_att_data.name}-id:${this.cur_att_data.id}`)
  254. let pos = this.getPosCom()
  255. pos.update_att(this.cur_att_data.x,this.cur_att_data.y,this.cur_att_data.z)
  256. let size = this.getSizeCom()
  257. size.update_att(this.cur_att_data.width,this.cur_att_data.height)
  258. let url = this.getUrlCom()
  259. url.update_att(this.cur_att_data.src_name)
  260. let drag = this.getDragCom()
  261. if(this.cur_att_data.drag_data!=null){
  262. drag.update_att(this.cur_att_data.drag_data)
  263. }
  264. let slide = this.getSlideCom()
  265. if(this.cur_att_data.slide_data!=null){
  266. slide.update_att(this.cur_att_data.slide_data)
  267. }
  268. let click = this.getClickCom()
  269. if(this.cur_att_data.click_data!=null){
  270. click.update_att(this.cur_att_data.click_data)
  271. }
  272. let animation = this.getAnimationCom()
  273. animation.update_att(this.cur_att_data.animation_list)
  274. let active = this.getEditActiveCom()
  275. active.update_att(this.cur_att_data.edit_active)
  276. let top = this.getTopCom()
  277. if(this.cur_att_data.top_data!=null){
  278. top.update_att(this.cur_att_data.top_data)
  279. }
  280. let text_sound = this.getTextSoundCom()
  281. if(this.cur_att_data.text_sound_data!=null){
  282. text_sound.update_att(this.cur_att_data.text_sound_data)
  283. }
  284. let _question_select = this.getQuestionCom()
  285. if(this.cur_att_data.question_select!=null){
  286. _question_select.update_att(this.cur_att_data.question_select)
  287. }
  288. let _count_down = this.getCountDownCom()
  289. if(this.cur_att_data.count_down!=null){
  290. _count_down.update_att(this.cur_att_data.count_down)
  291. }
  292. this.attributes_be_active.getComponent(attributes_be_active).update_att(this.cur_att_data.is_interaction)
  293. let z_index = this.getZIndexCom()
  294. z_index.update_att(this.cur_att_data.zIndex)
  295. let show_com = this.getShowCom()
  296. show_com.update_att(this.cur_att_data.is_show)
  297. let scene_set = this.getSceneSetingCom()
  298. if(this.cur_att_data.type===config.attributes_type.scene){
  299. if(this.cur_att_data.scene_rule_tips_data!=null){
  300. scene_set.update_att(this.cur_att_data.scene_rule_tips_data)
  301. }else{
  302. this.cur_att_data.scene_rule_tips_data = new scene_tips_rule_data
  303. scene_set.update_att(this.cur_att_data.scene_rule_tips_data)
  304. }
  305. }
  306. }
  307. }
  308. getSceneSetingCom(){
  309. return this.attributes_map.get("scene_set").getComponent(attributes_scene_setting);
  310. }
  311. getShowCom(){
  312. return this.attributes_map.get("show").getComponent(attributes_show);
  313. }
  314. getTopCom(){
  315. return this.attributes_map.get("top").getComponent(attributes_top);
  316. }
  317. getAnimationCom(){
  318. return this.attributes_map.get("animation").getComponent(attributes_animation);
  319. }
  320. getClickCom(){
  321. return this.attributes_map.get("click").getComponent(attributes_click);
  322. }
  323. getSlideCom(){
  324. return this.attributes_map.get("slide").getComponent(attributes_slide);
  325. }
  326. getDragCom(){
  327. return this.attributes_map.get("drop").getComponent(attributes_drop);
  328. }
  329. getNameCom(){
  330. return this.attributes_map.get("name").getComponent(attributes_name);
  331. }
  332. getPosCom(){
  333. return this.attributes_map.get("pos").getComponent(attributes_x_y);
  334. }
  335. getSizeCom(){
  336. return this.attributes_map.get("size").getComponent(attributes_w_h);
  337. }
  338. getEditActiveCom(){
  339. return this.attributes_map.get("active").getComponent(attributes_active);
  340. }
  341. getQuestionCom(){
  342. return this.attributes_map.get("question_select").getComponent(attributes_question_select);
  343. }
  344. getCountDownCom(){
  345. return this.attributes_map.get("count_down").getComponent(attributes_count_down);
  346. }
  347. public getUrlCom(){
  348. return this.attributes_map.get("url").getComponent(attributes_res);
  349. }
  350. public getTextSoundCom(){
  351. return this.attributes_map.get("text_sound").getComponent(attributes_text_sound);
  352. }
  353. public getZIndexCom(){
  354. return this.attributes_map.get("z_index").getComponent(attributes_z_index);
  355. }
  356. showAllAtt(){
  357. this.attributes_map.forEach((v,k)=>{
  358. v.active = true;
  359. })
  360. }
  361. hideAllAtt(){
  362. this.attributes_map.forEach((v,k)=>{
  363. v.active = false;
  364. })
  365. }
  366. public get_cur_att_data(){
  367. return this.cur_att_data;
  368. }
  369. public get_cur_scene_all_widget():widget_item_data[]{ //获取当前所有控件
  370. let data = this._main.edit_scene_view.getCurSelectScene()
  371. if(!data){
  372. return []
  373. }
  374. let temp = []
  375. for (let index = 0; index < data.page_list.length; index++) {
  376. const element = data.page_list[index];
  377. for (let i = 0; i < element.page_widget_list.length; i++) {
  378. const widget = element.page_widget_list[i];
  379. temp.push(widget)
  380. }
  381. }
  382. return temp;
  383. }
  384. public get_cur_scene_widget_by_type(type:number):widget_item_data[]{ //根据类型获取所有的
  385. let data = this._main.edit_scene_view.getCurSelectScene()
  386. if(!data){
  387. return []
  388. }
  389. let temp = []
  390. for (let index = 0; index < data.page_list.length; index++) {
  391. const element = data.page_list[index];
  392. for (let i = 0; i < element.page_widget_list.length; i++) {
  393. const widget = element.page_widget_list[i];
  394. if(type===widget.type){
  395. temp.push(widget)
  396. }
  397. }
  398. }
  399. return temp;
  400. }
  401. public get_cur_scene_all_only_widget(){ //获取当前所有控件
  402. let data = this._main.edit_scene_view.getCurSelectScene()
  403. if(!data){
  404. return []
  405. }
  406. let temp = []
  407. for (let index = 0; index < data.page_list.length; index++) {
  408. const element = data.page_list[index];
  409. for (let i = 0; i < element.page_widget_list.length; i++) {
  410. const widget = element.page_widget_list[i];
  411. if(widget.type!=config.Widget_Type_List.UI_TOP){
  412. temp.push(widget)
  413. }
  414. }
  415. }
  416. return temp;
  417. }
  418. public get_cur_scene_widget_by_id(id:number){ // 根据控件id获取
  419. let data = this._main.edit_scene_view.getCurSelectScene()
  420. for (let index = 0; index < data.page_list.length; index++) {
  421. const element = data.page_list[index];
  422. for (let i = 0; i < element.page_widget_list.length; i++) {
  423. const widget = element.page_widget_list[i];
  424. if(widget.att.id===id){
  425. return widget;
  426. }
  427. }
  428. }
  429. return null;
  430. }
  431. public get_widget_at_page_by_widget(select_widget:widget_item_data){ //根据widget 找到所属分页
  432. let page_index = 0;
  433. let data = this._main.edit_scene_view.getCurSelectScene()
  434. for (let index = 0; index < data.page_list.length; index++) {
  435. const element = data.page_list[index];
  436. for (let i = 0; i < element.page_widget_list.length; i++) {
  437. const widget = element.page_widget_list[i];
  438. if(widget.att.id===select_widget.att.id){
  439. page_index = index;
  440. break;
  441. }
  442. }
  443. }
  444. return page_index;
  445. }
  446. public get_scene_list(){
  447. let scene_list = this._main.control_view.get_bag_data().content;
  448. let temp = []
  449. for (let index = 0; index < scene_list.length; index++) {
  450. const s = scene_list[index];
  451. if(s.is_child_scene){
  452. temp.push(s)
  453. }
  454. }
  455. return temp;
  456. }
  457. ShowWidgetList(){
  458. let list = this.get_cur_scene_all_widget()
  459. if(list.length<=0){
  460. return tools.showToast("当前场景没有控件!")
  461. }
  462. tools.show_widget_list(list)
  463. }
  464. ShowALlChildScene(call){
  465. let list = this.get_scene_list()
  466. if(list.length<=0){
  467. return tools.showToast("还没有添加子场景")
  468. }
  469. tools.show_select_child_scene(list,call)
  470. }
  471. getEventList(){
  472. let data = this._main.edit_scene_view.getCurSelectScene()
  473. return data._task_data.event_list
  474. }
  475. getBeActionEventList(){
  476. let data = this._main.edit_scene_view.getCurSelectScene()
  477. let temp = []
  478. for (let index = 0; index < data._task_data.event_list.length; index++) {
  479. const element = data._task_data.event_list[index];
  480. if(element.type==config.event_type.be_event){
  481. temp.push(element)
  482. }
  483. }
  484. return temp
  485. }
  486. getEventItemById(event_id:number){
  487. let list = this.getEventList();
  488. for (let index = 0; index < list.length; index++) {
  489. const element = list[index];
  490. if(event_id===element.event_id){
  491. return element;
  492. }
  493. }
  494. return null;
  495. }
  496. }