MainVideoBtn.ts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import { _decorator, Component, Node } from 'cc';
  2. import { Http } from '../core/net/Http';
  3. import { OpenWindow } from '../core/ui/window/OpenWindow';
  4. import { Window } from '../core/ui/window/Window';
  5. import { WindowManager } from '../core/ui/window/WindowManager';
  6. import { WindowOpenMode } from '../core/ui/window/WindowOpenMode';
  7. import { WindowSystem } from '../core/ui/window/WindowSystem';
  8. import { g } from '../Data/g';
  9. import { LoginWaitWin } from '../Windows/LoginWaitWin';
  10. const { ccclass, property } = _decorator;
  11. @ccclass('MainVideoBtn')
  12. export class MainVideoBtn extends Component {
  13. @property({ tooltip: "http服务", type: Http }) public http: Http;
  14. @property({ tooltip: "视频窗口控制器", type: OpenWindow }) public videoOpen: OpenWindow;
  15. start() {
  16. g.gameData.isPlayVideo = false;
  17. }
  18. public isSend = false;
  19. public async btnEven() {
  20. if (g.gameData.isPlayVideo) {
  21. return;
  22. }
  23. g.gameData.isPlayVideo = true;
  24. //#region 打开加载等待界面
  25. let _window = await WindowManager.open("Prefabs/Windows/加载等待窗口", WindowOpenMode.NotCloseAndCover);
  26. let data = await this.http.send("/api/ad/WatchVideoAD");//观看视频起始
  27. _window.getComponent(LoginWaitWin).close();//关闭加载等待界面
  28. if (data) {
  29. switch (data.code) {
  30. case 0:
  31. //播放视频
  32. let adData = await g.showRewardVideo();
  33. if (adData) {
  34. this.videoBack();
  35. } else {
  36. //视频观看失败
  37. WindowManager.showTips("视频观看时间不足");
  38. }
  39. break;
  40. case 108:
  41. WindowManager.showTips("今日视频次数已用完,请明日再继续");
  42. g.gameData.isPlayVideo = false;
  43. break;
  44. default:
  45. WindowManager.showTips("视频准备中,请稍后再试");
  46. g.gameData.isPlayVideo = false;
  47. break;
  48. }
  49. } else {
  50. WindowManager.showTips("服务器连接超时");
  51. }
  52. }
  53. public async videoBack() {
  54. console.log("5555555555555555555555555555555");
  55. //#region 打开加载等待界面
  56. let _window = await WindowManager.open("Prefabs/Windows/加载等待窗口", WindowOpenMode.NotCloseAndCover);
  57. //#endregion
  58. let data = await this.http.send("/api/wealth/GetBonus", { adData: g.adData });
  59. _window.getComponent(LoginWaitWin).close();//关闭加载等待界面
  60. if (data.code == 0) {//视频观看成功
  61. if (data.data.addDiamond > 0) {
  62. await WindowManager.open("Prefabs/Windows/神石领取界面", WindowOpenMode.NotCloseAndAdd, [data.data.addDiamond, -1]);
  63. }
  64. } else {
  65. WindowManager.showTips(g.CodeMsg[data.code]);
  66. }
  67. g.gameData.isPlayVideo = false;
  68. }
  69. }