| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- import { v3 } from "cc";
- import { ecs } from "../../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
- import { MoveToComp } from "../../common/ecs/position/MoveTo";
- import { Checkpoint } from "../Checkpoint";
- import { CheckpointModelComp } from "../model/CheckpointModel";
- import { ECSEntity } from "../../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECSEntity";
- import { StationOperationComp } from "./StationOperation";
- import { VehicleOperationComp } from "./VehicleOperation";
- import { CheckpointUpgradeComp } from "./CheckpointUpgrade";
- import { oops } from "../../../../../extensions/oops-plugin-framework/assets/core/Oops";
- import { UIID } from "../../common/config/GameUIConfig";
- import { DataSdk, REPORT_EVENT } from "../../common/utils/datasdk";
- import { SingletonModuleComp } from "../../common/SingletonModuleComp";
- import { GameEvent } from "../../common/config/GameEvent";
- /**
- * 通关
- */
- @ecs.register('CheckpointCheckPass')
- export class CheckpointCheckPassComp extends ecs.Comp {
- reset() {
- }
- }
- /**
- * 失败
- */
- @ecs.register('CheckpointCheckFail')
- export class CheckpointCheckFailComp extends ecs.Comp {
- reset() {
- }
- }
- export class CheckpointCheckSystem extends ecs.ComblockSystem implements ecs.IEntityEnterSystem {
- filter(): ecs.IMatcher {
- return ecs.allOf(CheckpointModelComp).anyOf(CheckpointCheckPassComp, CheckpointCheckFailComp);
- }
- entityEnter(e: Checkpoint): void {
- // e.CheckpointModel.curVehicle
- const passComp = e.get(CheckpointCheckPassComp)
- const failComp = e.get(CheckpointCheckFailComp)
- if(passComp){
- DataSdk.reportEvent(REPORT_EVENT.LEVEL_PASS,ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv)
- oops.audio.playEffect('common/audio/level_complete')
- e.upgrade()
- oops.gui.open(UIID.LevelPass)
- this.exit(e)
- return
- }
- if(failComp){
- DataSdk.reportEvent(REPORT_EVENT.LEVEL_FAIL,JSON.stringify({
- lv:ecs.getSingleton(SingletonModuleComp)?.account?.AccountModel?.lv,
- peopleCount:ecs.getSingleton(SingletonModuleComp).account?.checkpoint?.CheckpointModel?.peopleCount
- }))
- oops.gui.open(UIID.LevelFail)
- this.exit(e)
- return
- }
- }
- exit(e:Checkpoint){
- e.remove(CheckpointCheckPassComp)
- e.remove(CheckpointCheckFailComp)
- e.remove(StationOperationComp)
- e.remove(VehicleOperationComp)
- }
- }
|