CheckpointCheck.ts 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import { v3 } from "cc";
  2. import { ecs } from "../../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
  3. import { MoveToComp } from "../../common/ecs/position/MoveTo";
  4. import { Checkpoint } from "../Checkpoint";
  5. import { CheckpointModelComp } from "../model/CheckpointModel";
  6. import { ECSEntity } from "../../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECSEntity";
  7. import { StationOperationComp } from "./StationOperation";
  8. import { VehicleOperationComp } from "./VehicleOperation";
  9. import { CheckpointUpgradeComp } from "./CheckpointUpgrade";
  10. import { oops } from "../../../../../extensions/oops-plugin-framework/assets/core/Oops";
  11. import { UIID } from "../../common/config/GameUIConfig";
  12. /**
  13. * 通关
  14. */
  15. @ecs.register('CheckpointCheckPass')
  16. export class CheckpointCheckPassComp extends ecs.Comp {
  17. reset() {
  18. }
  19. }
  20. /**
  21. * 失败
  22. */
  23. @ecs.register('CheckpointCheckFail')
  24. export class CheckpointCheckFailComp extends ecs.Comp {
  25. reset() {
  26. }
  27. }
  28. export class CheckpointCheckSystem extends ecs.ComblockSystem implements ecs.IEntityEnterSystem {
  29. filter(): ecs.IMatcher {
  30. return ecs.allOf(CheckpointModelComp).anyOf(CheckpointCheckPassComp, CheckpointCheckFailComp);
  31. }
  32. entityEnter(e: Checkpoint): void {
  33. // e.CheckpointModel.curVehicle
  34. const passComp = e.get(CheckpointCheckPassComp)
  35. const failComp = e.get(CheckpointCheckFailComp)
  36. if(passComp){
  37. oops.audio.playEffect('common/audio/level_complete')
  38. e.upgrade()
  39. oops.gui.open(UIID.LevelPass)
  40. this.exit(e)
  41. return
  42. }
  43. if(failComp){
  44. oops.gui.open(UIID.LevelFail)
  45. this.exit(e)
  46. return
  47. }
  48. }
  49. exit(e:Checkpoint){
  50. e.remove(CheckpointCheckPassComp)
  51. e.remove(CheckpointCheckFailComp)
  52. e.remove(StationOperationComp)
  53. e.remove(VehicleOperationComp)
  54. }
  55. }