event_collect_event.ts 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import { _decorator, Component, instantiate, Node, Prefab } from 'cc';
  2. import { event_collect_event_item, event_item } from '../../../data/data';
  3. import { Attributes } from '../Attributes';
  4. import { tools } from '../../tools';
  5. import { select_collect_event_item } from './select_collect_event_item';
  6. import { collect_event_item } from './collect_event_item';
  7. const { ccclass, property } = _decorator;
  8. @ccclass('event_collect_event')
  9. export class event_collect_event extends Component {
  10. private m_data:event_collect_event_item = null;
  11. @property(Node) btn_select_collect_event:Node = null;
  12. @property(Node) content:Node = null;
  13. @property(Prefab) item_prefab:Prefab = null;
  14. private _self_event_id:number = 0;
  15. public initView(data:event_collect_event_item,self_event_id:number){
  16. this.m_data = data;
  17. this._self_event_id = self_event_id;
  18. this.btn_select_collect_event.on(Node.EventType.TOUCH_END,()=>{
  19. let list = Attributes.Singleton.getBeActionEventList()
  20. if(list.length<=0){
  21. return tools.showToast("没有可添加的事件")
  22. }
  23. tools.select_collect_event(list,(event_list:number[])=>{
  24. this.m_data.event_id_list =event_list;
  25. this.updateStatus()
  26. },this._self_event_id,this.m_data.event_id_list)
  27. })
  28. this.updateStatus()
  29. }
  30. updateStatus(){
  31. this.content.removeAllChildren()
  32. for (let index = 0; index < this.m_data.event_id_list.length; index++) {
  33. const id = this.m_data.event_id_list[index];
  34. let item = instantiate(this.item_prefab);
  35. item.parent = this.content;
  36. item.getComponent(collect_event_item).initView(id)
  37. }
  38. }
  39. }