123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- import { _decorator, Component, instantiate, Label, Node, Prefab } from 'cc';
- import { ClientEvent } from '../../clientEvent';
- import { attributes_data, event_item_show_question_select, event_item_show_question_select_item, widget_item_data } from '../../../data/data';
- import { Attributes } from '../Attributes';
- import { tools } from '../../tools';
- import { config } from '../../config';
- import { show_question_select_item } from './show_question_select_item';
- const { ccclass, property } = _decorator;
- @ccclass('event_show_question_select')
- export class event_show_question_select extends Component {
- @property(Node) content:Node = null;
- @property(Node) btn_select_widget:Node = null;
- @property(Node) lab_select_widget:Node = null;
- @property(Prefab) prefab_item:Prefab = null;
- private cur_widget_item_data:widget_item_data = null;
- private m_data:event_item_show_question_select = null;
- public initView(data:event_item_show_question_select){
- this.m_data = data;
- this.btn_select_widget.on(Node.EventType.TOUCH_END,()=>{
- let list = Attributes.Singleton.get_cur_scene_widget_by_type(config.Widget_Type_List.QUESTION_SELECT)
- 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.cur_widget_item_data = item;
- this.updateStatus()
- },this.m_data.binding_widget_id)
- })
- this.updateStatus()
- 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){
- if(update_type===config.attributes_list_type.delete){
- this.m_data.binding_widget_id = -1;
- }else if(update_type===config.attributes_list_type.question_select){
- this.cur_widget_item_data = Attributes.Singleton.get_cur_scene_widget_by_id(this.m_data.binding_widget_id);
- this.updateStatus()
- }
-
-
- }
- }
- updateStatus(){
- if(this.m_data.binding_widget_id===-1){
- this.content.active = false;
- this.lab_select_widget.getComponent(Label).string = "选择问题选择控件"
- }else{
- this.content.active = true;
- this.lab_select_widget.getComponent(Label).string = "选择问题选择控件id:"+this.m_data.binding_widget_id;
- if(this.cur_widget_item_data==null){
- this.cur_widget_item_data = Attributes.Singleton.get_cur_scene_widget_by_id(this.m_data.binding_widget_id);
- }
- this.initListView()
-
- }
- }
- initListView(){
- this.content.removeAllChildren()
- let list = this.cur_widget_item_data.att.question_select.btn_question_list;
- for (let index = 0; index < list.length; index++) {
- const element = list[index];
- let item = instantiate(this.prefab_item)
- item.parent = this.content;
- let _event_item_show_question_select_item:event_item_show_question_select_item = null;
- if( this.m_data.question_list[index]==null||this.m_data.question_list[index]==undefined){
- _event_item_show_question_select_item = new event_item_show_question_select_item()
- _event_item_show_question_select_item.binding_event_id = -1;
- _event_item_show_question_select_item.isRight = false;
- _event_item_show_question_select_item.isClickVoice = true;
- this.m_data.question_list.push(_event_item_show_question_select_item)
- }else{
- _event_item_show_question_select_item = this.m_data.question_list[index]
- }
-
- item.getComponent(show_question_select_item).initView(element,_event_item_show_question_select_item)
- }
- }
- }
|