view_interact_page.ts 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import { _decorator, Component, Node } from 'cc';
  2. import { interact_page_data, ui_att_item } from '../../../data/data';
  3. import { view_ui_att_item } from './view_ui_att_item';
  4. import { tools } from '../../tools';
  5. import { config } from '../../config';
  6. const { ccclass, property } = _decorator;
  7. @ccclass('view_interact_page')
  8. export class view_interact_page extends Component {
  9. @property(Node) bg:Node = null;
  10. @property(Node) btn_interact_left:Node = null;
  11. @property(Node) btn_interact_right:Node = null;
  12. @property(Node) img_item_interact_bg:Node = null;
  13. @property(Node) btn_sure:Node = null;
  14. @property(Node) img_item_interact:Node = null;
  15. private m_data:interact_page_data = null;
  16. private m_page = 0;
  17. protected start(): void {
  18. this.btn_interact_left.on(Node.EventType.TOUCH_END,()=>{
  19. if(this.m_data.img_item_interact_list.length>0){
  20. if( (this.m_page-1)<0){
  21. this.m_page = this.m_data.img_item_interact_list.length-1;
  22. }else{
  23. this.m_page-=1;
  24. }
  25. this.update_func()
  26. }else{
  27. tools.showToast("没有添加多页")
  28. }
  29. })
  30. this.btn_interact_right.on(Node.EventType.TOUCH_END,()=>{
  31. if(this.m_data.img_item_interact_list.length>0){
  32. if( (this.m_page+1)>=this.m_data.img_item_interact_list.length){
  33. this.m_page = 0;
  34. }else{
  35. this.m_page+=1;
  36. }
  37. this.update_func()
  38. }else{
  39. tools.showToast("没有添加多页")
  40. }
  41. })
  42. }
  43. public updateView(data:interact_page_data){
  44. if(data===null){
  45. data = new interact_page_data;
  46. }
  47. this.m_page = 0;
  48. this.m_data = data;
  49. this.bg.getComponent(view_ui_att_item).updateAtt(data.bg)
  50. data.bg = this.bg.getComponent(view_ui_att_item).getData()
  51. this.btn_interact_left.getComponent(view_ui_att_item).updateAtt(data.btn_interact_left)
  52. data.btn_interact_left = this.btn_interact_left.getComponent(view_ui_att_item).getData()
  53. this.btn_interact_right.getComponent(view_ui_att_item).updateAtt(data.btn_interact_right)
  54. data.btn_interact_right = this.btn_interact_right.getComponent(view_ui_att_item).getData()
  55. this.img_item_interact_bg.getComponent(view_ui_att_item).updateAtt(data.img_item_interact_bg)
  56. data.img_item_interact_bg = this.img_item_interact_bg.getComponent(view_ui_att_item).getData()
  57. this.btn_sure.getComponent(view_ui_att_item).updateAtt(data.btn_sure)
  58. data.btn_sure = this.btn_sure.getComponent(view_ui_att_item).getData()
  59. if(data.img_item_interact_list.length<=0){
  60. this.m_data.img_item_interact_list.push(null)
  61. }
  62. this.update_func()
  63. }
  64. update_func = ()=>{
  65. this.img_item_interact.getComponent(view_ui_att_item).updateAtt(this.m_data.img_item_interact_list[this.m_page],config.update_type.update_img)
  66. this.m_data.img_item_interact_list[this.m_page] = this.img_item_interact.getComponent(view_ui_att_item).getData()
  67. if(this.m_data.img_item_interact_list[0]!=null){
  68. this.img_item_interact.getComponent(view_ui_att_item).updateAtt(this.m_data.img_item_interact_list[0],config.update_type.update_info)
  69. }
  70. }
  71. public getData(){
  72. return this.m_data;
  73. }
  74. }