select_task_da_guai.ts 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { _decorator, Component, instantiate, Node, Prefab } from 'cc';
  2. import { da_guai_data, da_guai_item_data } from '../../../data/data';
  3. import { select_task_da_guai_item } from './select_task_da_guai_item';
  4. import { tools } from '../../tools';
  5. const { ccclass, property } = _decorator;
  6. @ccclass('select_task_da_guai')
  7. export class select_task_da_guai extends Component {
  8. @property(Node) btn_close:Node = null;
  9. @property(Node) btn_add:Node = null;
  10. @property(Node) content:Node = null;
  11. @property(Prefab) item_prefab:Prefab = null;
  12. private m_data:da_guai_data = null;
  13. public show(data:da_guai_data){
  14. this.m_data = data;
  15. this.btn_add.on(Node.EventType.TOUCH_END,()=>{
  16. this.addItem()
  17. })
  18. this.btn_close.on(Node.EventType.TOUCH_END,()=>{
  19. this.close()
  20. })
  21. this.content.removeAllChildren()
  22. for (let index = 0; index < this.m_data.widget_id_list.length; index++) {
  23. const element:da_guai_item_data = this.m_data.widget_id_list[index];
  24. let item = instantiate(this.item_prefab)
  25. item.parent = this.content;
  26. item.getComponent(select_task_da_guai_item).initView(element,this.onItemDelete.bind(this),index)
  27. }
  28. }
  29. onItemDelete(item:select_task_da_guai_item){
  30. tools.show_dialog("是否删除?",()=>{
  31. item.node.removeFromParent()
  32. this.m_data.widget_id_list.splice(item.getIndex(),1)
  33. })
  34. }
  35. close(){
  36. this.node.active = false;
  37. }
  38. addItem(){
  39. const element:da_guai_item_data = new da_guai_item_data
  40. this.m_data.widget_id_list.push(element)
  41. let index = this.m_data.widget_id_list.length-1;
  42. let item = instantiate(this.item_prefab)
  43. item.parent = this.content;
  44. item.getComponent(select_task_da_guai_item).initView(element,this.onItemDelete.bind(this),index)
  45. }
  46. }