AdRewardController.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. var t = require;
  2. var e = module;
  3. var i = exports;
  4. var o =
  5. (this && this.__awaiter) ||
  6. function (t, n, r, l) {
  7. return new (r = r || Promise)(function (i, e) {
  8. function s(t) {
  9. try {
  10. a(l.next(t));
  11. } catch (t) {
  12. e(t);
  13. }
  14. }
  15. function o(t) {
  16. try {
  17. a(l.throw(t));
  18. } catch (t) {
  19. e(t);
  20. }
  21. }
  22. function a(t) {
  23. var e;
  24. t.done
  25. ? i(t.value)
  26. : ((e = t.value) instanceof r
  27. ? e
  28. : new r(function (t) {
  29. t(e);
  30. })
  31. ).then(s, o);
  32. }
  33. a((l = l.apply(t, n || [])).next());
  34. });
  35. };
  36. Object.defineProperty(i, "__esModule", { value: !0 });
  37. const a = t("App"),
  38. s = t("BaseController"),
  39. n = t("RedPointMgr"),
  40. r = t("Toast"),
  41. l = t("ControllerConst"),
  42. h = t("NotificationConst"),
  43. c = (t("ViewConst"), t("LayerManager"), t("ADController"), t("ADManageBase"), t("BagController")),
  44. d = t("BuffConst"),
  45. u = t("BuffMgr"),
  46. p = t("IBuff"),
  47. f = t("GameConst"),
  48. g = t("GlobalAttr"),
  49. m = t("CurrencyService"),
  50. _ = t("MachineService"),
  51. y = t("SystemOpenConst"),
  52. v = t("AdRewardConst"),
  53. U = t("AdRewardModle");
  54. (n.RedPointMgr.types.AdRateBuff = "AdRateBuff"),
  55. (i.default = class extends s.default {
  56. constructor() {
  57. super(),
  58. (this.adRateBuffView = null),
  59. (this.adRewardMoneyView = null),
  60. (this._model = null),
  61. (this.adBuffEndTime = 0),
  62. (this.adRewardCoolTime = 0),
  63. (this.adRewardShowTime = 0),
  64. (this.adRewardFunc = null),
  65. a.default.ViewManager.register(23, {
  66. prefabName: "AdRateBuffView",
  67. zIndex: 50,
  68. controller: this,
  69. dir: "AdReward",
  70. isNotShowLoad: !0
  71. }),
  72. a.default.ViewManager.register(24, {
  73. prefabName: "AdRewardMoneyView",
  74. zIndex: 50,
  75. controller: this,
  76. dir: "AdReward",
  77. isNotShowLoad: !0
  78. }),
  79. (this._model = new U.default(this)),
  80. this._model.init(),
  81. this.initModleEvent(),
  82. this.initModleFunc();
  83. }
  84. get model() {
  85. return this._model;
  86. }
  87. initModleFunc() {
  88. this.registerFunc(v.AdRewardConst.WATCH_AD_RATE_BUFF, this.watchAdRateBuff, this),
  89. this.registerFunc(v.AdRewardConst.UPDATE_AD_RATE, this.updateAdRateBuff, this),
  90. this.registerFunc(v.AdRewardConst.WATCH_AD_REWARD, this.watchAdReward, this);
  91. }
  92. initModleEvent() {
  93. a.default.NotificationCenter.addListener(h.NotificationConst.INIT_GAME, this.onInitGame, this),
  94. a.default.NotificationCenter.addListener(f.GameNotificationConst.UPDATE_BUFF, this.onUpdateBuff, this),
  95. a.default.NotificationCenter.addListener(h.NotificationConst.ENTER_MAP, this.onEnterMap, this);
  96. }
  97. onUpdateBuff(t, e, i) {
  98. p.BUFF_TYPE[i] === p.BUFF_TYPE.FOOD_SELL_RATE && this.updateAdRateBuff();
  99. }
  100. onInitGame() {
  101. var t = this.checkAdRateBuffOpen(),
  102. e = this.checkAdRewardOpen();
  103. (t && e) || a.default.NotificationCenter.addListener(h.NotificationConst.SYS_OPEN, this.onCheckOpen, this),
  104. a.default.NotificationCenter.removeListener(h.NotificationConst.INIT_GAME, this.onInitGame, this);
  105. }
  106. onCheckOpen(t, e) {
  107. e &&
  108. (t == y.OpenTypeConst.AD_RATE_BUFF
  109. ? this.checkAdRateBuffOpen(!0)
  110. : t == y.OpenTypeConst.AD_REWARD && this.checkAdRewardOpen());
  111. }
  112. onEnterMap() {
  113. this.adRewardMoneyView && ((this.adRewardShowTime = 0), this.adRewardCountTimeShow());
  114. }
  115. startTime() {
  116. a.default.TimerManager.isExists(this.countDownTime, this) ||
  117. a.default.TimerManager.doTimer(1e3, 0, this.countDownTime, this);
  118. }
  119. countDownTime() {
  120. this.adBuffCountTime(), this.adRewardFunc && this.adRewardFunc();
  121. }
  122. onOpenView(t) {
  123. 23 == t.viewId && this.updateAdRateBuff();
  124. }
  125. checkAdRateBuffOpen(t = !1) {
  126. return (
  127. (t =
  128. t ||
  129. a.default.ControllerManager.applyFunc(
  130. l.ControllerConst.SystemOpen,
  131. y.OpenConst.CHCEK_OPEN,
  132. y.OpenTypeConst.AD_RATE_BUFF
  133. )) && a.default.ViewManager.open(23),
  134. t
  135. );
  136. }
  137. adBuffCountTime() {
  138. if (!this.adBuffEndTime || !this.adRateBuffView) return !1;
  139. var t = this.adBuffEndTime - a.default.DateUtils.Now();
  140. 0 < t
  141. ? this.adRateBuffView.updateTime(Math.floor(t / 1e3))
  142. : ((this.adBuffEndTime = 0), this.adRateBuffView.updateTime(0));
  143. }
  144. watchAdRateBuff() {
  145. let t = 100 * g.default.ins.ad_booster_effect,
  146. e = 1e3 * g.default.ins.define.booster_ad_time,
  147. i = 1e3 * g.default.ins.define.booster_ad_max_time;
  148. u.default.ins.addGlobalBuff({
  149. buffIndex: d.BuffIndex.AD_FOOD_SELL_RATE,
  150. buffValue: t,
  151. buffEndTime: a.default.DateUtils.Now() + e
  152. })
  153. console.error('服务器应该给反馈');
  154. // return o(this, void 0, void 0, function* () {
  155. // var s = yield a.default.ControllerManager.applyFunc(l.ControllerConst.AD, 0, 2);
  156. // if (s && 0 === s.code) {
  157. // let t = 100 * g.default.ins.ad_booster_effect,
  158. // e = 1e3 * g.default.ins.define.booster_ad_time,
  159. // i = 1e3 * g.default.ins.define.booster_ad_max_time;
  160. // s = u.default.ins.getGlobalBuffByIndex(d.BuffIndex.AD_FOOD_SELL_RATE);
  161. // s &&
  162. // s.buffEndTime &&
  163. // (s = s.buffEndTime - a.default.DateUtils.Now()) + e > i &&
  164. // ((e = i - s), r.default.launch("已达到时间上限!")),
  165. // u.default.ins.addGlobalBuff({
  166. // buffIndex: d.BuffIndex.AD_FOOD_SELL_RATE,
  167. // buffValue: t,
  168. // buffEndTime: a.default.DateUtils.Now() + e
  169. // }),
  170. // this.updateAdRateBuff();
  171. // }
  172. // });
  173. // return o(this, void 0, void 0, function* () {
  174. // var s = yield a.default.ControllerManager.applyFunc(l.ControllerConst.AD, 0, 2);
  175. // if (s && 0 === s.code) {
  176. // let t = 100 * g.default.ins.ad_booster_effect,
  177. // e = 1e3 * g.default.ins.define.booster_ad_time,
  178. // i = 1e3 * g.default.ins.define.booster_ad_max_time;
  179. // s = u.default.ins.getGlobalBuffByIndex(d.BuffIndex.AD_FOOD_SELL_RATE);
  180. // s &&
  181. // s.buffEndTime &&
  182. // (s = s.buffEndTime - a.default.DateUtils.Now()) + e > i &&
  183. // ((e = i - s), r.default.launch("已达到时间上限!")),
  184. // u.default.ins.addGlobalBuff({
  185. // buffIndex: d.BuffIndex.AD_FOOD_SELL_RATE,
  186. // buffValue: t,
  187. // buffEndTime: a.default.DateUtils.Now() + e
  188. // }),
  189. // this.updateAdRateBuff();
  190. // }
  191. // });
  192. }
  193. updateAdRateBuff() {
  194. var t = g.default.ins.ad_booster_effect,
  195. e = g.default.ins.define.booster_ad_time;
  196. this.adRateBuffView && this.adRateBuffView.updateUI(t, e);
  197. e = u.default.ins.getGlobalBuffByIndex(d.BuffIndex.AD_FOOD_SELL_RATE);
  198. e && e.buffEndTime
  199. ? ((this.adBuffEndTime = e.buffEndTime),
  200. this.startTime(),
  201. a.default.RedPointMgr.next(a.default.RedPointMgr.types.AdRateBuff, !1))
  202. : a.default.RedPointMgr.next(a.default.RedPointMgr.types.AdRateBuff, !0);
  203. }
  204. checkAdRewardOpen(t = !1) {
  205. return (
  206. !!this.adRewardFunc ||
  207. ((t =
  208. t ||
  209. a.default.ControllerManager.applyFunc(
  210. l.ControllerConst.SystemOpen,
  211. y.OpenConst.CHCEK_OPEN,
  212. y.OpenTypeConst.AD_REWARD
  213. )) &&
  214. ((this.adRewardCoolTime = g.default.ins.define.supply_ad_appear_cooltime),
  215. (this.adRewardFunc = this.adRewardCountTimeCool),
  216. this.startTime()),
  217. t)
  218. );
  219. }
  220. adRewardCountTimeCool() {
  221. if ((this.adRewardCoolTime--, this.adRewardCoolTime <= 0)) {
  222. if (((this.adRewardCoolTime = 0), a.default.RandomUtils.limit(0, 1) <= g.default.ins.gemsChanceAtAd)) {
  223. let t = g.default.ins.define.supply_ad_gem_value;
  224. a.default.ViewManager.open(24, t.toString(), c.CostType.diamond);
  225. } else {
  226. var t = _.default.ins.calculateIdleMoney(g.default.ins.define.supply_ad_money_value);
  227. if (!t) return void (this.adRewardCoolTime = g.default.ins.define.supply_ad_appear_cooltime);
  228. a.default.ViewManager.open(24, t, c.CostType.coin);
  229. }
  230. (this.adRewardShowTime = g.default.ins.define.supply_ad_appear_holdtime),
  231. (this.adRewardFunc = this.adRewardCountTimeShow);
  232. }
  233. }
  234. adRewardCountTimeShow() {
  235. this.adRewardShowTime--,
  236. this.adRewardShowTime <= 0 &&
  237. ((this.adRewardShowTime = 0),
  238. this.adRewardMoneyView.hide(),
  239. (this.adRewardCoolTime = g.default.ins.define.supply_ad_appear_cooltime),
  240. (this.adRewardFunc = this.adRewardCountTimeCool));
  241. }
  242. watchAdReward(s) {
  243. return o(this, void 0, void 0, function* () {
  244. var t,
  245. e = yield a.default.ControllerManager.applyFunc(l.ControllerConst.AD, 0, 3);
  246. let i = 0;
  247. e &&
  248. 0 === e.code &&
  249. ((i =
  250. s == c.CostType.diamond
  251. ? ((t = g.default.ins.define.supply_ad_gem_value), m.default.ins.diamondChange(t), t)
  252. : ((t = _.default.ins.calculateIdleMoney(g.default.ins.define.supply_ad_money_value)),
  253. m.default.ins.moneyChange(t),
  254. t)),
  255. a.default.ViewManager.close(24),
  256. a.default.NotificationCenter.dispatch(h.NotificationConst.PLAY_MONEY_ANI, s, i),
  257. (this.adRewardCoolTime = g.default.ins.define.supply_ad_appear_cooltime),
  258. (this.adRewardFunc = this.adRewardCountTimeCool));
  259. });
  260. }
  261. });