question_select.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import { _decorator, Component, instantiate, Node, Prefab } from 'cc';
  2. import { att_question_select, event_item_show_question_select, event_item_show_question_select_item } from '../../../data/data';
  3. import { btn_question_item } from './btn_question_item';
  4. import { gameManager } from '../gameManager';
  5. const { ccclass, property } = _decorator;
  6. @ccclass('question_select')
  7. export class question_select extends Component {
  8. @property(Prefab) btn_question:Prefab = null;
  9. private m_widget_id:number = 0
  10. private m_data:att_question_select = null;
  11. private mCallBack = null;
  12. public initView(widget_id:number,data:att_question_select,event_data:event_item_show_question_select,call){
  13. this.m_widget_id = widget_id
  14. this.m_data = data;
  15. this.mCallBack = call;
  16. this.node.destroyAllChildren();
  17. this.node.removeAllChildren();
  18. for (let index = 0; index < this.m_data.btn_question_list.length; index++) {
  19. const element = this.m_data.btn_question_list[index];
  20. let item = instantiate(this.btn_question)
  21. item.parent = this.node;
  22. item.getComponent(btn_question_item).initView(element,event_data.question_list[index],index,this.onItemClick.bind(this))
  23. }
  24. }
  25. onItemClick(item:btn_question_item, event_data:event_item_show_question_select_item){
  26. if(this.mCallBack!=null){
  27. this.mCallBack(this.m_widget_id,item.getData(),event_data)
  28. }
  29. if(event_data.isClickVoice) {
  30. gameManager.Singleton.sys_click_button_music()
  31. }
  32. }
  33. }