rule_view.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import { _decorator, Component, Node, Sprite } from 'cc';
  2. import { ui_att_item } from '../../../data/data';
  3. import { gameManager } from '../gameManager';
  4. const { ccclass, property } = _decorator;
  5. @ccclass('rule_view')
  6. export class rule_view extends Component {
  7. @property(Node) btn_rule_left:Node = null;
  8. @property(Node) btn_rule_right:Node = null;
  9. @property(Node) btn_rule_close:Node = null;
  10. @property(Node) icon:Node = null;
  11. private m_page = 0;
  12. private mData :ui_att_item[] = null;
  13. public initView(rule_list:ui_att_item[]){
  14. this.mData = rule_list;
  15. this.btn_rule_left.off(Node.EventType.TOUCH_END)
  16. this.btn_rule_left.on(Node.EventType.TOUCH_END,()=>{
  17. if( (this.m_page-1)<0){
  18. }else{
  19. this.m_page-=1;
  20. }
  21. this.update_func()
  22. this.updateBtnStatus()
  23. gameManager.Singleton.sys_click_button_music()
  24. })
  25. this.btn_rule_right.off(Node.EventType.TOUCH_END)
  26. this.btn_rule_right.on(Node.EventType.TOUCH_END,()=>{
  27. if( (this.m_page+1)>=this.mData.length){
  28. }else{
  29. this.m_page+=1;
  30. }
  31. this.update_func()
  32. this.updateBtnStatus()
  33. gameManager.Singleton.sys_click_button_music()
  34. })
  35. this.btn_rule_close.off(Node.EventType.TOUCH_END)
  36. this.btn_rule_close.on(Node.EventType.TOUCH_END,()=>{
  37. this.close()
  38. gameManager.Singleton.sys_click_button_music()
  39. })
  40. if(this.mData.length<=0){
  41. this.m_page =0
  42. }else{
  43. this.m_page = this.mData.length-1;
  44. }
  45. this.update_func()
  46. this.updateBtnStatus()
  47. }
  48. show(){
  49. this.node.active = true;
  50. }
  51. close(){
  52. this.node.active = false;
  53. }
  54. updateBtnStatus(){
  55. if(this.mData.length<=1){
  56. this.btn_rule_right.active = false;
  57. this.btn_rule_left.active = false;
  58. }else{
  59. this.btn_rule_right.active = true;
  60. this.btn_rule_left.active = true;
  61. if(this.m_page>=this.mData.length-1){
  62. this.btn_rule_right.active = false;
  63. }
  64. if(this.m_page<=0){
  65. this.btn_rule_left.active = false;
  66. }
  67. }
  68. }
  69. update_func(){
  70. let curSelectItem = this.mData[this.m_page];
  71. this.icon.getComponent(Sprite).spriteFrame = gameManager.getCacheSpriteFrameByName(this.icon,curSelectItem.res)
  72. }
  73. }