| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import { v3 } from "cc";
- import { oops } from "../../../../../extensions/oops-plugin-framework/assets/core/Oops";
- import { ecs } from "../../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
- import { Checkpoint } from "../../checkpoint/Checkpoint";
- import { Account } from "../Account";
- import { AccountModelComp } from "../model/AccountModelComp";
- /** 请求玩家游戏数据 */
- @ecs.register('AccountInit')
- export class AccountInitComp extends ecs.Comp {
- reset() { }
- }
- /** 请求玩家游戏数据 */
- export class AccountInitSystem extends ecs.ComblockSystem implements ecs.IEntityEnterSystem {
- filter(): ecs.IMatcher {
- return ecs.allOf(AccountInitComp, AccountModelComp);
- }
- entityEnter(e: Account): void {
- const data =
- {
- lv: 1,
- }
- this.createLevel(e, data);
- e.remove(AccountInitComp);
- }
- /** 创建关卡对象(自定义逻辑) */
- private createLevel(e: Account, data: any) {
- const level = ecs.getEntity<Checkpoint>(Checkpoint);
- // 关卡等级数据
- level.upgrade(data.lv);
- // 关卡数据
- level.CheckpointModel.vmAdd();
- // 关卡等级数据
- level.CheckpointModelLevel.vmAdd();
- // 添加关卡到场景
- level.load(oops.game.root, v3(0, 0, 0));
- e.checkpoint = level;
- e.addChild(level)
- }
- /** 设置本地存储的用户标识 */
- private setLocalStorage(level: number) {
- oops.storage.set("account", level);
- }
- }
|