123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341 |
- import { _decorator, Color, Component, EventTouch, instantiate, Label, Node, Prefab, UITransform, Vec3 } from 'cc';
- import { Attributes } from '../Attributes';
- import { event_item, widget_item_data } from '../../../data/data';
- import { config } from '../../config';
- const { ccclass, property } = _decorator;
- @ccclass('search_node')
- export class search_node extends Component {
- @property(Node) btn_close:Node = null;
- @property(Node) content:Node = null;
- @property(Prefab) item_prefab:Prefab = null;
- @property(Node) scrollView:Node = null;
- private m_id:number = 0;
- public show(search:string){
- this.node.active = true;
- this.btn_close.on(Node.EventType.TOUCH_END,()=>{
- this.close()
- })
- this.m_id = parseInt(search)
- this.content.removeAllChildren()
- let search_data = this.getCurSearchType()
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.MAGENTA
- if(search_data==null){
- item.getComponent(Label).string = "当前搜索的id不存在"
- }else{
- if(search_data.type==0){
- item.getComponent(Label).string = `您查找的是控件.\n 控件id:${search_data.widget.att.id}.控件名称:${search_data.widget.name}`
- this.finAboutWidgetList(search_data.widget)
- }else{
- item.getComponent(Label).string = `您查找的是事件.\n 事件id:${search_data.event.event_id}.事件名称:${search_data.event.event_name}`
- this.finAboutEventList(search_data.event)
- }
- }
- this.scrollView.off(Node.EventType.TOUCH_MOVE)
- // this.scrollView.on(Node.EventType.TOUCH_MOVE,(et:EventTouch)=>{
- // let p = new Vec3(et.getUILocation().x,et.getUILocation().y)
- // let n_p = this.scrollView.parent.getComponent(UITransform).convertToNodeSpaceAR(p)
- // this.scrollView.position = n_p;
- // })
- }
- finAboutWidgetList(widget:widget_item_data){
- let widget_id = widget.att.id;
- let drag_list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.DRAG_TYPE)
- for (let index = 0; index < drag_list.length; index++) {
- const drag_item = drag_list[index];
- if(drag_item.att.drag_data.other_widget_finish_listen_list!=undefined){
- for (let index = 0; index < drag_item.att.drag_data.other_widget_finish_listen_list.length; index++) {
- const element = drag_item.att.drag_data.other_widget_finish_listen_list[index];
- if(element.widget_id===widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.GREEN
- item.getComponent(Label).string = `被拖拽控件id:${drag_item.att.id}监听`
- }
-
- }
- }
- }
- let click_list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.CLICK_TYPE)
- for (let index = 0; index < click_list.length; index++) {
- const drag_item = click_list[index];
- if(drag_item.att.click_data.other_widget_finish_listen_list!=undefined){
- for (let index = 0; index < drag_item.att.click_data.other_widget_finish_listen_list.length; index++) {
- const element = drag_item.att.click_data.other_widget_finish_listen_list[index];
- if(element.widget_id===widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.GREEN
- item.getComponent(Label).string = `被点击控件id:${drag_item.att.id}监听`
- }
-
- }
- }
- }
- let slide_list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.SLIDE_TYPE)
- for (let index = 0; index < slide_list.length; index++) {
- const drag_item = slide_list[index];
- if(drag_item.att.slide_data.other_widget_finish_listen_list!=undefined){
- for (let index = 0; index < drag_item.att.slide_data.other_widget_finish_listen_list.length; index++) {
- const element = drag_item.att.slide_data.other_widget_finish_listen_list[index];
- if(element.widget_id===widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.GREEN
- item.getComponent(Label).string = `被滑动控件id:${drag_item.att.id}监听`
- }
-
- }
- }
- }
- let event_list = Attributes.Singleton.getEventList()
- for (let index = 0; index < event_list.length; index++) {
- const event = event_list[index];
- switch (event.type) {
- case config.event_type.play_ani:
- if(event.event_item_play_ani_data.binding_widget_id==widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- break;
- case config.event_type.top_view:
- if(event.event_item_top_view_data.binding_ui_id===widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- break;
- case config.event_type.text_sound:
- if(event.event_item_text_sound_data.binding_widget_id===widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- break;
- case config.event_type.change_one_item_status:
- if(event.event_item_change_one_item_status_data.binding_widget_id===widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- break;
- case config.event_type.show_new_item:
- if(event.event_item_show_new_item_data.binding_widget_id===widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- break;
- case config.event_type.show_question_select:
- if(event.event_item_show_question_select_data.binding_widget_id===widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- break;
- case config.event_type.active_event:
- if(event.event_item_active_event_data.binding_widget_id===widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- break;
- case config.event_type.countdown_over:
- if(event.event_item_countdown_over_data.binding_widget_id===widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- break;
- case config.event_type.be_event:
- if(event.event_item_be_event_data.binding_widget_id===widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- break;
- case config.event_type.hide:
- if(event.event_item_hide_data.binding_widget_id===widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- break;
- case config.event_type.delete_drag_other_data:
- if(event.event_item_delete_drag_other_data.widget_id===widget_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- break;
-
- }
- }
- }
- finAboutEventList(event:event_item){
- let event_id = event.event_id;
- let event_list = Attributes.Singleton.getEventList()
- for (let index = 0; index < event_list.length; index++) {
- const event = event_list[index];
- if(event.success.trigger_event_id==event_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- switch (event.type) {
- case config.event_type.show_question_select:
- let question_list = event.event_item_show_question_select_data.question_list;
- for (let index = 0; index < question_list.length; index++) {
- const i = question_list[index];
- if(i.binding_event_id===event_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- }
- break;
- case config.event_type.start_event:
- if(event_id ===event.event_item_start_event_data.binding_event_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- break;
- case config.event_type.collect_event:
- let event_id_list = event.event_item_collect_event_data.event_id_list
- for (let index = 0; index < event_id_list.length; index++) {
- const element = event_id_list[index];
- if(element===event_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- }
- break;
- case config.event_type.delay_exe_event:
- if(event.event_item_delay_exe_data.binding_event_id==event_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.BLUE
- item.getComponent(Label).string = `${event.event_name}-id:${event.event_id}绑定`
- }
- break;
- }
- }
- let drag_list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.DRAG_TYPE)
- for (let index = 0; index < drag_list.length; index++) {
- const drag_item = drag_list[index];
- if(drag_item.att.drag_data.other_widget_finish_listen_list!=undefined){
- for (let index = 0; index < drag_item.att.drag_data.other_widget_finish_listen_list.length; index++) {
- const element = drag_item.att.drag_data.other_widget_finish_listen_list[index];
- if(element.event_id===event_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.GREEN
- item.getComponent(Label).string = `被拖拽控件id:${drag_item.att.id}调用`
- }
-
- }
- }
- }
- let top_list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.UI_TOP)
- for (let index = 0; index < top_list.length; index++) {
- const top_item = top_list[index];
- if(top_item.att.top_data.close_event_id===event_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.GREEN
- item.getComponent(Label).string = `被弹窗件id:${top_item.att.id}调用`
- }
- if(top_item.att.top_data.finish_event_id===event_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.GREEN
- item.getComponent(Label).string = `被弹窗件id:${top_item.att.id}调用`
- }
- if(top_item.att.top_data.fail_event_id===event_id){
- let item = instantiate(this.item_prefab)
- item.parent = this.content;
- item.getComponent(Label).color = Color.GREEN
- item.getComponent(Label).string = `被弹窗件id:${top_item.att.id}调用`
- }
- }
- }
- public getCurSearchType(){
- let widget_list = Attributes.Singleton.get_cur_scene_all_widget()
- let widget:widget_item_data = null;
- for (let index = 0; index < widget_list.length; index++) {
- const element = widget_list[index];
- if(this.m_id==element.att.id){
- widget = element;
- break;
- }
- }
- let event:event_item = null;
- if(widget==null){
- let event_list = Attributes.Singleton.getEventList()
- for (let index = 0; index < event_list.length; index++) {
- const element = event_list[index];
- if(this.m_id==element.event_id){
- event = element;
- break;
- }
- }
- if(event!=null){
- return {"event":event,"type":1}
- }
- }else{
- return {"widget":widget,"type":0}
- }
- return null;
-
- }
- public close(){
- this.node.active = false;
- }
- }
|