ui_interact_page.ts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import { _decorator, Component, Node, Size, Sprite, UITransform, Vec3 } from 'cc';
  2. import { ui_base } from './ui_base';
  3. import { interact_page_data } from '../../../data/data';
  4. import { tools } from '../../tools';
  5. import { gameManager } from '../gameManager';
  6. const { ccclass, property } = _decorator;
  7. @ccclass('ui_interact_page')
  8. export class ui_interact_page extends ui_base {
  9. @property(Node) btn_interact_left:Node = null;
  10. @property(Node) btn_interact_right:Node = null;
  11. @property(Node) img_item_interact_bg:Node = null;
  12. @property(Node) btn_sure:Node = null;
  13. @property(Node) img_item_interact:Node = null;
  14. private mInteractPageData:interact_page_data = null;
  15. private m_page = 0;
  16. protected init(): void {
  17. this.mInteractPageData = this.mTopData._interact_page_data;
  18. if(this.mInteractPageData===null){
  19. return tools.showToast("设置ui分页错误")
  20. }
  21. this.initPageView()
  22. }
  23. initPageView(){
  24. this.btn_interact_left.off(Node.EventType.TOUCH_END)
  25. this.btn_interact_left.on(Node.EventType.TOUCH_END,()=>{
  26. if(this.mInteractPageData.img_item_interact_list.length>0){
  27. if( (this.m_page-1)<0){
  28. this.m_page = this.mInteractPageData.img_item_interact_list.length-1;
  29. }else{
  30. this.m_page-=1;
  31. }
  32. this.update_func()
  33. }else{
  34. tools.showToast("没有添加多页")
  35. }
  36. })
  37. this.btn_interact_right.off(Node.EventType.TOUCH_END)
  38. this.btn_interact_right.on(Node.EventType.TOUCH_END,()=>{
  39. if(this.mInteractPageData.img_item_interact_list.length>0){
  40. if( (this.m_page+1)>=this.mInteractPageData.img_item_interact_list.length){
  41. this.m_page = 0;
  42. }else{
  43. this.m_page+=1;
  44. }
  45. this.update_func()
  46. }else{
  47. tools.showToast("没有添加多页")
  48. }
  49. })
  50. this.btn_sure.off(Node.EventType.TOUCH_END)
  51. this.btn_sure.on(Node.EventType.TOUCH_END,()=>{
  52. if(this.m_page==this.mInteractPageData.answer){
  53. this.onFinishEvent()
  54. tools.showToast("成功")
  55. }else{
  56. this.onFialEvent()
  57. tools.showToast("失败")
  58. console.log("onFialEvent",this.mInteractPageData.answer,this.m_page)
  59. }
  60. })
  61. gameManager.initUiBaseAtt(this.img_item_interact_bg,this.mInteractPageData.img_item_interact_bg)
  62. gameManager.initUiBaseAtt(this.btn_interact_right,this.mInteractPageData.btn_interact_right)
  63. gameManager.initUiBaseAtt(this.btn_interact_left,this.mInteractPageData.btn_interact_left)
  64. gameManager.initUiBaseAtt(this.btn_sure,this.mInteractPageData.btn_sure)
  65. this.loadBg(this.mInteractPageData.bg)
  66. this.update_func()
  67. }
  68. update_func(){
  69. let curSelectItem = this.mInteractPageData.img_item_interact_list[this.m_page];
  70. let att = this.mInteractPageData.img_item_interact_list[0];
  71. this.img_item_interact.getComponent(UITransform).setContentSize(new Size(att.width,att.height))
  72. this.img_item_interact.position = new Vec3(att.x,att.y);
  73. this.img_item_interact.getComponent(Sprite).spriteFrame = gameManager.getCacheSpriteFrameByName(this.img_item_interact,curSelectItem.res)
  74. }
  75. }