import { _decorator, Component, instantiate, Label, Node, Prefab } from 'cc'; import { attributes_data, event_item_hide, event_widget_more_event_item, widget_item_data } from '../../../data/data'; import { tools } from '../../tools'; import { Attributes } from '../Attributes'; import { ClientEvent } from '../../clientEvent'; import { config } from '../../config'; import { edit_event_more_item } from './edit_event_more_item'; const { ccclass, property } = _decorator; @ccclass('event_hide') export class event_hide extends Component { private m_data:event_item_hide = null; @property(Node) btn_select_widget:Node = null; @property(Node) lab_select_widget:Node = null; @property(Node) btn_more:Node = null; @property(Node) content:Node = null; @property(Prefab) item_more_prefab:Prefab = null; protected start(): void { this.btn_more.on(Node.EventType.TOUCH_END, ()=> { this.onClickMoreBtn() },this) } public initView(data:event_item_hide){ this.m_data = data; this.btn_select_widget.on(Node.EventType.TOUCH_END,()=>{ let list = Attributes.Singleton.get_cur_scene_all_only_widget() if(list.length<=0){ return tools.showToast("当前场景没有添加控件!") } tools.show_select_widget_list(list,(item:widget_item_data)=>{ this.m_data.binding_widget_id = item.att.id; this.updateStatus() },this.m_data.binding_widget_id) }) this.updateStatus() this.updateMoreListStatus() ClientEvent.on(config.Event.UpdateAttributesToView,this.UpdateAttributesToView,this) } protected onDestroy(): void { ClientEvent.off(config.Event.UpdateAttributesToView,this.UpdateAttributesToView,this) } UpdateAttributesToView(data:attributes_data,update_type:string){ if(this.m_data.binding_widget_id===data.id&&update_type===config.attributes_list_type.delete){ this.m_data.binding_widget_id = -1; this.updateStatus() } } updateStatus(){ if(this.m_data.binding_widget_id===-1){ this.lab_select_widget.getComponent(Label).string = "选择要隐藏的控件" }else{ this.lab_select_widget.getComponent(Label).string = "隐藏的控件id:"+this.m_data.binding_widget_id; } } onClickMoreBtn() { let list = Attributes.Singleton.get_cur_scene_all_only_widget() if(list.length<=0){ return tools.showToast("当前场景没有添控件!") } tools.show_select_widget_list(list,(item:widget_item_data)=>{ if(item.att.id == this.m_data.binding_widget_id) { return } var have_index:number = -1 for(let i=0; i{ this.m_data.binding_widget_list.splice(index,1) this.updateMoreListStatus() }) } } }