DailyData.ts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import GameM from "../manager/GameM"
  2. import RedPointM, { RedPointType } from "../manager/RedPointM"
  3. import { HTTP_TYPE } from "./CommonData"
  4. /** 登录豪礼数据类 */
  5. export default class DailyData {
  6. private static instance: DailyData = null
  7. static get Instance(): DailyData {
  8. if (!DailyData.instance) {
  9. DailyData.instance = new DailyData()
  10. }
  11. return DailyData.instance
  12. }
  13. /** 登录豪礼奖励配置数据 */
  14. dailyCfg = null
  15. /** 登录豪礼已领取奖励数组 */
  16. dailyGetArr = []
  17. updateDailyGet(index) {
  18. this.dailyGetArr[index] = '1'
  19. GameM.commonData.roleData.dailyGet = this.dailyGetArr.join(',')
  20. this.checkHasGet()
  21. let data = {
  22. 'roleData': GameM.commonData.roleData
  23. }
  24. GameM.httpM.sendDatas(HTTP_TYPE.updateRoleData, data)
  25. }
  26. //判断是否有登录奖励,目前用于红点
  27. checkHasGet(): boolean {
  28. let result = false
  29. for (let entry of this.dailyCfg) {
  30. if (this.dailyGetArr[entry.index] == "0" && GameM.commonData.loginDays >= entry.getDay) {
  31. if (entry.conditionType == 2) {
  32. if (GameM.commonData.maxCarLevel >= entry.conditionLv) {
  33. result = true
  34. break
  35. }
  36. }
  37. else if (entry.conditionType == 3) {
  38. if (GameM.commonData.roleData.lv >= entry.conditionLv) {
  39. result = true
  40. break
  41. }
  42. }
  43. }
  44. }
  45. RedPointM.instance.ActiveRedPoint(RedPointType.Daily, result)
  46. return result
  47. }
  48. }