tips_view.ts 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. import { _decorator, Component, Node, Sprite, SpriteFrame } from 'cc';
  2. import { scene_tips_data, ui_att_item } from '../../../data/data';
  3. import { gameManager } from '../gameManager';
  4. import { SdkUtil } from '../../sdkUtil';
  5. import { config } from '../../config';
  6. import { statisticsManager } from '../../statisticsManager';
  7. const { ccclass, property } = _decorator;
  8. @ccclass('tips_view')
  9. export class tips_view extends Component {
  10. @property(Node) btn_tips:Node = null;
  11. @property(Node) btn_answer:Node = null;
  12. @property(Node) btn_close:Node = null;
  13. @property(Node) icon:Node = null;
  14. @property(Node) text_view:Node = null;
  15. @property(SpriteFrame) sf_tips:SpriteFrame;
  16. @property(SpriteFrame) sf_tips_video:SpriteFrame;
  17. @property(SpriteFrame) sf_answer:SpriteFrame;
  18. @property(SpriteFrame) sf_answer_video:SpriteFrame;
  19. private mData:scene_tips_data = null;
  20. private IsShowFindRuleTips:boolean = false;
  21. private IsShowSecondLevel:boolean = false;
  22. private isLookTipsVideo:boolean = false;
  23. private isLookAnswerVideo:boolean = false;
  24. public initView(data:scene_tips_data){
  25. this.mData = data;
  26. this.btn_tips.off(Node.EventType.TOUCH_END)
  27. this.btn_answer.off(Node.EventType.TOUCH_END)
  28. this.btn_close.off(Node.EventType.TOUCH_END)
  29. this.IsShowSecondLevel = false;
  30. this.isLookTipsVideo = false;
  31. this.isLookAnswerVideo = false;
  32. this.btn_tips.off(Node.EventType.TOUCH_END)
  33. this.btn_tips.on(Node.EventType.TOUCH_END,()=>{
  34. if(this.isLookTipsVideo){
  35. this.showTips()
  36. }else{
  37. let ad_id = SdkUtil.getAdId(config.AD_TYPE.LOOK_TIPS)
  38. SdkUtil.showVideoAd(ad_id,(res)=>{
  39. if(res.isEnded){
  40. this.isLookTipsVideo = true;
  41. this.showTips()
  42. this.updateBtnTipStatus()
  43. }
  44. // 统计-激励视频广告
  45. let level_id = gameManager.Singleton.getLevelData().id
  46. let collect_data = statisticsManager.get_collect_ads_data(level_id, res, config.STATISTICS_ACTION_TYPE.CHA_KAN_TI_SHI)
  47. statisticsManager.request_collect_rewardVideoData(collect_data)
  48. })
  49. }
  50. gameManager.Singleton.sys_click_button_music()
  51. })
  52. this.btn_answer.off(Node.EventType.TOUCH_END)
  53. this.btn_answer.on(Node.EventType.TOUCH_END,()=>{
  54. if( this.isLookAnswerVideo){
  55. this.showAnswer()
  56. }else{
  57. let ad_id = SdkUtil.getAdId(config.AD_TYPE.ANSWER)
  58. SdkUtil.showVideoAd(ad_id,(res)=>{
  59. if(res.isEnded){
  60. this.isLookAnswerVideo = true;
  61. this.showAnswer()
  62. this.updateBtnAnswerStatus()
  63. }
  64. // 统计-激励视频广告
  65. let level_id = gameManager.Singleton.getLevelData().id
  66. let collect_data = statisticsManager.get_collect_ads_data(level_id, res, config.STATISTICS_ACTION_TYPE.CHA_KAN_DA_AN)
  67. statisticsManager.request_collect_rewardVideoData(collect_data)
  68. })
  69. }
  70. gameManager.Singleton.sys_click_button_music()
  71. })
  72. this.btn_close.off(Node.EventType.TOUCH_END)
  73. this.btn_close.on(Node.EventType.TOUCH_END,()=>{
  74. if(this.IsShowFindRuleTips==true) {
  75. this.IsShowFindRuleTips = false
  76. this.close()
  77. } else {
  78. if(this.IsShowSecondLevel==true) {
  79. this.show()
  80. this.IsShowSecondLevel = false
  81. } else {
  82. this.close()
  83. }
  84. }
  85. gameManager.Singleton.sys_click_button_music()
  86. })
  87. this.text_view.active = false;
  88. this.updateBtnTipStatus()
  89. this.updateBtnAnswerStatus()
  90. }
  91. private updateBtnTipStatus() {
  92. if(this.isLookTipsVideo) {
  93. this.btn_tips.getComponent(Sprite).spriteFrame = this.sf_tips
  94. } else {
  95. this.btn_tips.getComponent(Sprite).spriteFrame = this.sf_tips_video
  96. }
  97. }
  98. private updateBtnAnswerStatus() {
  99. if(this.isLookTipsVideo) {
  100. this.btn_answer.getComponent(Sprite).spriteFrame = this.sf_answer
  101. } else {
  102. this.btn_answer.getComponent(Sprite).spriteFrame = this.sf_answer_video
  103. }
  104. }
  105. show(){
  106. this.text_view.active = false;
  107. this.btn_tips.active = true;
  108. if(this.isLookTipsVideo) {
  109. this.btn_answer.active = true;
  110. } else {
  111. this.btn_answer.active = false;
  112. }
  113. this.node.active = true;
  114. }
  115. close(){
  116. this.node.active = false;
  117. }
  118. showTips(){
  119. this.IsShowSecondLevel = true
  120. this.text_view.active = true;
  121. this.btn_answer.active = false;
  122. this.btn_tips.active = false;
  123. this.icon.getComponent(Sprite).spriteFrame = gameManager.getCacheSpriteFrameByName(this.icon,this.mData.tips_tips.res)
  124. }
  125. showAnswer(){
  126. this.IsShowSecondLevel = true
  127. this.text_view.active = true;
  128. this.btn_answer.active = false;
  129. this.btn_tips.active = false;
  130. this.icon.getComponent(Sprite).spriteFrame = gameManager.getCacheSpriteFrameByName(this.icon,this.mData.tips_answer.res)
  131. }
  132. public showFindRuleTips(data:ui_att_item){
  133. this.IsShowFindRuleTips = true;
  134. this.node.active = true;
  135. this.text_view.active = true;
  136. this.btn_answer.active = false;
  137. this.btn_tips.active = false;
  138. this.icon.getComponent(Sprite).spriteFrame = gameManager.getCacheSpriteFrameByName(this.icon,data.res)
  139. }
  140. }