AccountInit.ts 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { dynamicAtlasManager, macro, v3,game } from "cc";
  2. import { oops } from "../../../../../extensions/oops-plugin-framework/assets/core/Oops";
  3. import { ecs } from "../../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
  4. import { Checkpoint } from "../../checkpoint/Checkpoint";
  5. import { Account } from "../Account";
  6. import { AccountModelComp } from "../model/AccountModelComp";
  7. import { UIID } from "../../common/config/GameUIConfig";
  8. import { VibrationManager } from "../../../platform/vibration/VibrationManager";
  9. import { AdManager } from "../../../platform/ad/AdManager";
  10. /** 请求玩家游戏数据 */
  11. @ecs.register('AccountInit')
  12. export class AccountInitComp extends ecs.Comp {
  13. reset() { }
  14. }
  15. /** 请求玩家游戏数据 */
  16. export class AccountInitSystem extends ecs.ComblockSystem implements ecs.IEntityEnterSystem {
  17. filter(): ecs.IMatcher {
  18. return ecs.allOf(AccountInitComp, AccountModelComp);
  19. }
  20. entityEnter(e: Account): void {
  21. e.AccountModel.vmAdd()
  22. e.AccountModelSetting.vmAdd()
  23. let data =
  24. {
  25. lv: 1,
  26. }
  27. const localData = oops.storage.get("lv")
  28. if (localData) {
  29. data.lv = Number(localData)
  30. }
  31. e.AccountModelSetting.vm.effectOn = oops.storage.getBoolean("effectOn", true)
  32. e.AccountModelSetting.vm.musicOn = oops.storage.getBoolean("musicOn", true)
  33. e.AccountModelSetting.vm.vibrationOn = oops.storage.getBoolean("vibrationOn", true)
  34. const localSkin = oops.storage.get("skin")
  35. if (localSkin) {
  36. e.AccountModel.skin = Number(localSkin)
  37. }
  38. e.AccountModel.reward = oops.storage.getBoolean("reward",false)
  39. // e.AccountModel.reward = false
  40. // macro.CLEANUP_IMAGE_CACHE = false;
  41. // dynamicAtlasManager.enabled = true;
  42. // oops.log.trace(`奖励结果:${e.AccountModel.reward}`)
  43. game.setFrameRate(30);
  44. VibrationManager.getInstance().switchVibration = e.AccountModelSetting.vm.vibrationOn
  45. this.createLevel(e, data);
  46. e.remove(AccountInitComp);
  47. }
  48. /** 创建关卡对象(自定义逻辑) */
  49. private createLevel(e: Account, data: any) {
  50. const level = ecs.getEntity<Checkpoint>(Checkpoint);
  51. // 关卡等级数据
  52. level.upgrade(data.lv);
  53. e.checkpoint = level;
  54. e.addChild(level)
  55. }
  56. }