edit_event_group_item.ts 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { _decorator, Component, EditBox, Label, Node } from 'cc';
  2. import { event_group_event_item_event_item } from '../../../data/data';
  3. const { ccclass, property } = _decorator;
  4. @ccclass('edit_event_group_item')
  5. export class edit_event_group_item extends Component {
  6. @property(Node) btn_delete:Node = null;
  7. @property(Node) lab_event_id:Node = null;
  8. @property(EditBox) editBox_delay_time:EditBox = null;
  9. @property(Node) btn_up:Node = null;
  10. @property(Node) btn_down:Node = null;
  11. private m_index:number = 0
  12. private m_data:event_group_event_item_event_item = null;
  13. private m_delete_callback:Function = null;
  14. private m_operation_callback:Function = null;
  15. start() {
  16. this.editBox_delay_time.node.on(EditBox.EventType.EDITING_DID_ENDED, ()=> {
  17. if(this.editBox_delay_time.string.length == 0) {
  18. this.editBox_delay_time.string = '0'
  19. }
  20. this.m_data.delay_time = parseFloat(this.editBox_delay_time.string)
  21. })
  22. this.btn_delete.on(Node.EventType.TOUCH_END, ()=> {
  23. if(this.m_delete_callback!=null) {
  24. this.m_delete_callback()
  25. }
  26. })
  27. this.btn_up.on(Node.EventType.TOUCH_END, ()=>{
  28. if(this.m_operation_callback!=null) {
  29. this.m_operation_callback(this,true)
  30. }
  31. })
  32. this.btn_down.on(Node.EventType.TOUCH_END, ()=>{
  33. if(this.m_operation_callback!=null) {
  34. this.m_operation_callback(this,false)
  35. }
  36. })
  37. }
  38. initView(index:number, total_count:number, data:event_group_event_item_event_item, delete_callback:Function, operation_callback:Function) {
  39. this.m_index = index
  40. this.m_data = data
  41. this.m_delete_callback = delete_callback
  42. this.m_operation_callback = operation_callback
  43. this.lab_event_id.getComponent(Label).string = `事件名:${this.m_data.event_item.event_name}-id:${this.m_data.event_item.event_id}`
  44. this.editBox_delay_time.string = this.m_data.delay_time.toString()
  45. if(index == 0) {
  46. this.btn_up.active = false
  47. } else {
  48. this.btn_up.active = true
  49. }
  50. if(index < total_count - 1) {
  51. this.btn_down.active = true
  52. } else {
  53. this.btn_down.active = false
  54. }
  55. }
  56. getIndex():number{
  57. return this.m_index
  58. }
  59. }