AccountInit.ts 2.5 KB

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