Grain.ts 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { _decorator, Component, Node, Label } from 'cc';
  2. import { RewardVideoSystem } from '../ad/RewardVideoSystem';
  3. import { DataSystem } from '../core/data/DataSystem';
  4. import { Http, HttpResponseCode } from '../core/net/Http';
  5. import { HttpSystem } from '../core/net/HttpSystem';
  6. import { Window } from '../core/ui/window/Window';
  7. import { WindowSystem } from '../core/ui/window/WindowSystem';
  8. import { ConfigData } from '../data/ConfigData';
  9. import { platform } from '../data/jsb/platform';
  10. import { UserData } from '../data/UserData';
  11. import { ReportThinking } from '../ReportThinking';
  12. const { ccclass, property, requireComponent } = _decorator;
  13. /**获取粮草 */
  14. @ccclass('Grain')
  15. @requireComponent(Http)
  16. export class Grain extends Component {
  17. @property({ type: Label, tooltip: "今日剩余次数文本" }) numLabel: Label;
  18. @property({ type: Label, tooltip: "粮草数量文本" }) grainNumLabel: Label;
  19. @property({ type: Label, tooltip: "训练次数文本" }) trainNumLabel: Label;
  20. private num: number;
  21. start() {
  22. }
  23. /**当日看视频领取免费粮草次数 */
  24. private async getMoneyTimes(num) {
  25. this.num = num;
  26. let missionData = DataSystem.getData(ConfigData).get('mission');
  27. let level = DataSystem.getData(UserData).level;
  28. this.grainNumLabel.string = 'x' + missionData[level].videofood;
  29. this.trainNumLabel.string = missionData[level].videofood / DataSystem.getData(ConfigData).get('serverConfig').trainConsume + '次';
  30. this.numLabel.string = this.num + '次';
  31. }
  32. /**看视频领取粮草 */
  33. private async getGrain() {
  34. if (this.num) {
  35. let result = await this.getComponent(Http).send("/api/ad/watchVideoAD");
  36. if (result && result.code == HttpResponseCode.Success) {
  37. ReportThinking.ad_init('grain_get');
  38. let adData = await RewardVideoSystem.show();
  39. if (adData) {//视频观看成功
  40. result = await this.getComponent(Http).send('/api/user/getMoney', { adData: adData.obj });
  41. if (result && result.code == HttpResponseCode.Success) {
  42. ReportThinking.ad_end('grain_get', result.data);
  43. ReportThinking.currency_increase('money', DataSystem.getData(UserData).money, result.data, result.data + DataSystem.getData(UserData).money, 'getMoney');
  44. DataSystem.getData(UserData).money += result.data;
  45. this.num--;
  46. this.numLabel.string = this.num + '次';
  47. WindowSystem.showTips('免费粮草领取成功');
  48. }
  49. this.getComponent(Window).close();
  50. }
  51. } else if (result && result.code == 108) {
  52. WindowSystem.showTips('视频CD中');
  53. }
  54. } else {
  55. WindowSystem.showTips('当日看视频领取免费粮草次数不足');
  56. }
  57. }
  58. }