dai_dao_ju_bag.ts 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import { _decorator, Component, instantiate, Node, Prefab } from 'cc';
  2. import { dai_dao_ju_item, guo_ju_qing_dai_dao_ju } from '../../../data/data';
  3. import { widget_base } from '../widget/widget_base';
  4. import { gameManager } from '../gameManager';
  5. import { bag_drag_item } from './bag_drag_item';
  6. const { ccclass, property } = _decorator;
  7. @ccclass('dai_dao_ju_bag')
  8. export class dai_dao_ju_bag extends Component {
  9. @property(Node) btn_tip:Node;
  10. @property(Node) btn_addtime:Node;
  11. @property(Node) content:Node;
  12. @property(Node) btn_info:Node;
  13. @property(Prefab) item_prefab:Prefab = null;
  14. private m_call_back = null;
  15. private m_add_time_call = null;
  16. private cur_select_item:bag_drag_item = null;
  17. public initView(data:guo_ju_qing_dai_dao_ju,call_back,add_time_call){
  18. this.content.removeAllChildren()
  19. this.m_call_back = call_back;
  20. this.m_add_time_call = add_time_call;
  21. let list = gameManager.getWidgetList(gameManager.Singleton.getSceneManager().getSceneData());
  22. let getWidgetData = (id)=>{
  23. for (let index = 0; index < list.length; index++) {
  24. const element = list[index];
  25. if(id==element.att.id){
  26. return element;
  27. }
  28. }
  29. return null;
  30. }
  31. for (let index = 0; index < data.widget_list.length; index++) {
  32. const element:dai_dao_ju_item = data.widget_list[index];
  33. let item = instantiate(this.item_prefab)
  34. item.getComponent(bag_drag_item).initView(element,getWidgetData(element.widget_id),this.onItemClick.bind(this))
  35. }
  36. this.btn_tip.on(Node.EventType.TOUCH_END,()=>{
  37. if( this.m_call_back !=null){
  38. this.m_call_back();
  39. }
  40. })
  41. if(data.binding_count_time_widget!=-1){
  42. this.btn_addtime.active = true;
  43. }else{
  44. this.btn_addtime.active = false;
  45. }
  46. this.btn_addtime.on(Node.EventType.TOUCH_END,()=>{
  47. if( this.m_add_time_call !=null){
  48. this.m_add_time_call();
  49. }
  50. })
  51. }
  52. onItemClick(item:bag_drag_item){
  53. this.cur_select_item = item;
  54. }
  55. }