AccountInit.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { v3 } 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. VibrationManager.getInstance().switchVibration = e.AccountModelSetting.vm.vibrationOn
  39. this.createLevel(e, data);
  40. e.remove(AccountInitComp);
  41. }
  42. /** 创建关卡对象(自定义逻辑) */
  43. private createLevel(e: Account, data: any) {
  44. const level = ecs.getEntity<Checkpoint>(Checkpoint);
  45. // 关卡等级数据
  46. level.upgrade(data.lv);
  47. e.checkpoint = level;
  48. e.addChild(level)
  49. }
  50. }