CheckpointModelLevel.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. gridRowCount: number = 0;
  31. gridColCount: number = 0;
  32. /** 人数 */
  33. peopleCount: number = 0;
  34. /** 下一个关卡载具类型 */
  35. vehicleType: VehicleType = null
  36. reset() {
  37. this.lv = 0;
  38. this.stationCount = 0;
  39. this.gridColCount = 0;
  40. this.gridRowCount = 0;
  41. this.peopleCount = 0;
  42. this.vehicleType = null
  43. }
  44. }