event_show_new_item.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { _decorator, Component, Label, Node } from 'cc';
  2. import { attributes_data, event_item_show_new_item, widget_item_data } from '../../../data/data';
  3. import { Attributes } from '../Attributes';
  4. import { tools } from '../../tools';
  5. import { ClientEvent } from '../../clientEvent';
  6. import { config } from '../../config';
  7. const { ccclass, property } = _decorator;
  8. @ccclass('event_show_new_item')
  9. export class event_show_new_item extends Component {
  10. private m_data:event_item_show_new_item = null;
  11. @property(Node) btn_select_widget:Node = null;
  12. @property(Node) lab_select_widget:Node = null;
  13. public initView(data:event_item_show_new_item){
  14. this.m_data = data;
  15. this.btn_select_widget.on(Node.EventType.TOUCH_END,()=>{
  16. let list = Attributes.Singleton.get_cur_scene_all_only_widget()
  17. if(list.length<=0){
  18. return tools.showToast("当前场景没有添加控件!")
  19. }
  20. tools.show_select_widget_list(list,(item:widget_item_data)=>{
  21. this.m_data.binding_widget_id = item.att.id;
  22. this.updateStatus()
  23. },this.m_data.binding_widget_id)
  24. })
  25. this.updateStatus()
  26. ClientEvent.on(config.Event.UpdateAttributesToView,this.UpdateAttributesToView,this)
  27. }
  28. protected onDestroy(): void {
  29. ClientEvent.off(config.Event.UpdateAttributesToView,this.UpdateAttributesToView,this)
  30. }
  31. UpdateAttributesToView(data:attributes_data,update_type:string){
  32. if(this.m_data.binding_widget_id===data.id&&update_type===config.attributes_list_type.delete){
  33. this.m_data.binding_widget_id = -1;
  34. this.updateStatus()
  35. }
  36. }
  37. updateStatus(){
  38. if(this.m_data.binding_widget_id===-1){
  39. this.lab_select_widget.getComponent(Label).string = "选择出现新道具控件"
  40. }else{
  41. this.lab_select_widget.getComponent(Label).string = "选择出现新道具控件id:"+this.m_data.binding_widget_id;
  42. }
  43. }
  44. }