CheckpointModelLevel.ts 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { ecs } from "../../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
  2. import { VM } from "../../../../../extensions/oops-plugin-framework/assets/libs/model-view/ViewModel";
  3. import { TableCheckpointLevel } from "../../common/table/TableCheckpointLevel";
  4. import { VehicleType } from "../../vehicle/model/VehicleEnum";
  5. @ecs.register('CheckpointModelLevel')
  6. export class CheckpointModelLevelComp extends ecs.Comp {
  7. /** 下个关卡配置 */
  8. rtluNext: TableCheckpointLevel = new TableCheckpointLevel();
  9. /** 当前关卡配置 */
  10. rtluCurrent: TableCheckpointLevel = new TableCheckpointLevel();
  11. /** 提供 VM 组件使用的数据 */
  12. vm: CheckpointLevelVM = new CheckpointLevelVM();
  13. vmAdd() {
  14. VM.add(this.vm, "CheckpointLevel");
  15. }
  16. vmRemove() {
  17. this.vm.reset();
  18. VM.remove("CheckpointLevel");
  19. }
  20. reset() {
  21. this.vmRemove();
  22. }
  23. }
  24. class CheckpointLevelVM {
  25. /** 当前等级 */
  26. lv: number = 0;
  27. /** 站台数 */
  28. stationCount: number = 0;
  29. /** 格子数 */
  30. gridCount: number = 0;
  31. /** 人数 */
  32. peopleCount: number = 0;
  33. /** 下一个关卡载具类型 */
  34. vehicleType: VehicleType = VehicleType.CAR
  35. reset() {
  36. this.lv = 0;
  37. this.stationCount = 0;
  38. this.gridCount = 0;
  39. this.peopleCount = 0;
  40. this.vehicleType = VehicleType.CAR
  41. }
  42. }