VehicleCheck.ts 930 B

1234567891011121314151617181920212223242526272829
  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 { Vehicle } from "../Vehicle";
  5. import { VehicleModelComp } from "../model/VehicleModelComp";
  6. /** 检查车是不是满的,满了开走 */
  7. @ecs.register('VehicleSit')
  8. export class VehicleSitComp extends ecs.Comp {
  9. reset() { }
  10. }
  11. export class VehicleSitSystem extends ecs.ComblockSystem implements ecs.IEntityEnterSystem {
  12. filter(): ecs.IMatcher {
  13. return ecs.allOf(VehicleSitComp,VehicleModelComp);
  14. }
  15. entityEnter(e: Vehicle): void {
  16. e.VehicleModel.useSit+=1
  17. if(e.VehicleModel.useSit>=e.VehicleModel.capcity){
  18. console.log('车满了,开走')
  19. const moveTo = e.add(MoveToComp)
  20. moveTo.target = v3(0,1000,0)
  21. }
  22. e.remove(VehicleSitComp)
  23. }
  24. }