DataMgr.ts 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. // Learn TypeScript:
  2. // - https://docs.cocos.com/creator/manual/en/scripting/typescript.html
  3. // Learn Attribute:
  4. // - https://docs.cocos.com/creator/manual/en/scripting/reference/attributes.html
  5. // Learn life-cycle callbacks:
  6. // - https://docs.cocos.com/creator/manual/en/scripting/life-cycle-callbacks.html
  7. import PlayerConst, { DATA_STORAGE_KEY } from "../data/PlayerConst";
  8. import StorageMgr from "./StorageMgr";
  9. import { PROPTYPE } from "../data/Enum";
  10. import GamePlay from "../GamePlay";
  11. import { EVENT_TYPE, GameProp } from "../../game/data/GameData";
  12. const { ccclass, property } = cc._decorator;
  13. @ccclass
  14. export default class DataMgr extends cc.Component {
  15. //单例模式---------------------------
  16. private static instance: DataMgr = null;
  17. public static get Inst(): DataMgr {
  18. if (!DataMgr.instance) {
  19. DataMgr.instance = new DataMgr();
  20. }
  21. return DataMgr.instance;
  22. }
  23. /**初始化缓存数据 */
  24. initStorageData() {
  25. //是否巨量api 回传激活
  26. let ifJuliangApiActivie = StorageMgr.Inst.getStorage(DATA_STORAGE_KEY.ifJuliangApiApiActivie);
  27. if (!!ifJuliangApiActivie) {
  28. PlayerConst.ifJuliangApiApiActivie = ifJuliangApiActivie;
  29. }
  30. //是否巨量api 二次激活
  31. let ifJuliangApiSencondActivie = StorageMgr.Inst.getStorage(DATA_STORAGE_KEY.ifJuliangApiSencondActivie);
  32. if (!!ifJuliangApiSencondActivie) {
  33. PlayerConst.ifJuliangApiSencondActivie = ifJuliangApiSencondActivie;
  34. }
  35. //平均ecpm
  36. let average_ecpm = StorageMgr.Inst.getStorage(DATA_STORAGE_KEY.average_ecpm);
  37. if (!!average_ecpm) {
  38. PlayerConst.average_ecpm = average_ecpm;
  39. }
  40. }
  41. /**
  42. * 更新道具数据
  43. * @param updateType 更新类型 0 刷新 1 增 2减
  44. * @param propType 道具类型
  45. * @param propNum 道具数目
  46. */
  47. updatePropNum(updateType: number, propType: PROPTYPE, propNum: number = 1) {
  48. mk.console.log("更新道具数据", propType, propNum);
  49. switch (propType) {
  50. case PROPTYPE.Hammer:
  51. let hammerPropNum = gData.gameData.getProp(GameProp.hammerPropNum);
  52. if (updateType == 0) {
  53. }
  54. else {
  55. hammerPropNum += propNum;
  56. }
  57. gData.gameData.setProp(GameProp.hammerPropNum, hammerPropNum);
  58. if (GamePlay.Inst) {
  59. GamePlay.Inst.initHammerPropNum();
  60. }
  61. break;
  62. case PROPTYPE.Change:
  63. let changePropNum = gData.gameData.getProp(GameProp.changePropNum);
  64. if (updateType == 0) {
  65. }
  66. else {
  67. changePropNum += propNum;
  68. }
  69. gData.gameData.setProp(GameProp.changePropNum, changePropNum);
  70. if (GamePlay.Inst) {
  71. GamePlay.Inst.initChanegPropNum();
  72. }
  73. break;
  74. case PROPTYPE.Reset:
  75. let resetPropNum = gData.gameData.getProp(GameProp.resetPropNum);
  76. if (updateType == 0) {
  77. }
  78. else {
  79. resetPropNum += propNum;
  80. }
  81. gData.gameData.setProp(GameProp.resetPropNum, resetPropNum);
  82. if (GamePlay.Inst) {
  83. GamePlay.Inst.initResetPropNum();
  84. }
  85. break;
  86. }
  87. if (updateType === 0) {
  88. return;
  89. }
  90. }
  91. //巨量回传数据--------------------------------------------------------------------------------------------
  92. /**更新巨量回传 */
  93. updateJuliangApi() {
  94. if (!PlayerConst.ifJuliangApiApiActivie) {
  95. this.updateJuliangApiActive(true);
  96. // HttpMgr.Inst.juliangAPIActive(0);
  97. }
  98. else {
  99. if (!PlayerConst.ifJuliangApiSencondActivie && PlayerConst.loginDay > 1) {
  100. this.updateJuliangApiSecondActive(true);
  101. // HttpMgr.Inst.juliangAPIActive(6);
  102. }
  103. }
  104. }
  105. /**更新巨量激活回传 */
  106. updateJuliangApiActive(ifActive: boolean) {
  107. PlayerConst.ifJuliangApiApiActivie = true;
  108. StorageMgr.Inst.setStorage(DATA_STORAGE_KEY.ifJuliangApiApiActivie, PlayerConst.ifJuliangApiApiActivie);
  109. }
  110. /**更新巨量次留激活回传 */
  111. updateJuliangApiSecondActive(ifActive: boolean) {
  112. PlayerConst.ifJuliangApiSencondActivie = true;
  113. StorageMgr.Inst.setStorage(DATA_STORAGE_KEY.ifJuliangApiSencondActivie, PlayerConst.ifJuliangApiSencondActivie);
  114. }
  115. }