123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- import VectorType from "../enum/VectorType.js";
- import Furniture from "../Geometry/Furniture.js";
- import { dataService } from "./DataService.js";
- // import { Furnitures } from "../enum/UIEvents";
- export class FurnitureService {
- constructor() {
- this.$app = null;
- this.furnitures = null;
- }
- fetchFurnitures() {
- if (this.furnitures) {
- return;
- }
- this.furnitures = {};
- for (let key in Furnitures) {
- // 测试代码
- if (key != Furnitures.TV) {
- continue;
- }
- this.$app.store
- .getAppImage(`images/cad/furnitures/${Furnitures[key]}.svg`)
- .then((img) => {
- this.furnitures[Furnitures[key]] = img;
- console.log(this.furnitures);
- })
- .catch((err) => {
- console.error(err);
- });
- }
- }
- // 新建component
- createFurniture(position, geoType, vectorId) {
- let furniture = null;
- switch (geoType) {
- case VectorType.TV:
- furniture = new Furniture(position, vectorId, VectorType.TV);
- break;
- case VectorType.CombinationSofa:
- furniture = new Furniture(
- position,
- vectorId,
- VectorType.CombinationSofa
- );
- break;
- case VectorType.SingleSofa:
- furniture = new Furniture(position, vectorId, VectorType.SingleSofa);
- break;
- case VectorType.TeaTable:
- furniture = new Furniture(position, vectorId, VectorType.TeaTable);
- break;
- case VectorType.Carpet:
- furniture = new Furniture(position, vectorId, VectorType.Carpet);
- break;
- case VectorType.Plant:
- furniture = new Furniture(position, vectorId, VectorType.Plant);
- break;
- case VectorType.DiningTable:
- furniture = new Furniture(position, vectorId, VectorType.DiningTable);
- break;
- case VectorType.DoubleBed:
- furniture = new Furniture(position, vectorId, VectorType.DoubleBed);
- break;
- case VectorType.SingleBed:
- furniture = new Furniture(position, vectorId, VectorType.SingleBed);
- break;
- case VectorType.Wardrobe:
- furniture = new Furniture(position, vectorId, VectorType.Wardrobe);
- break;
- case VectorType.Dresser:
- furniture = new Furniture(position, vectorId, VectorType.Dresser);
- break;
- case VectorType.BedsideCupboard:
- furniture = new Furniture(
- position,
- vectorId,
- VectorType.BedsideCupboard
- );
- break;
- case VectorType.Pillow:
- furniture = new Furniture(position, vectorId, VectorType.Pillow);
- break;
- case VectorType.GasStove:
- furniture = new Furniture(position, vectorId, VectorType.GasStove);
- break;
- case VectorType.Cupboard:
- furniture = new Furniture(position, vectorId, VectorType.Cupboard);
- break;
- case VectorType.Bathtub:
- furniture = new Furniture(position, vectorId, VectorType.Bathtub);
- break;
- case VectorType.Closestool:
- furniture = new Furniture(position, vectorId, VectorType.Closestool);
- break;
- case VectorType.Washstand:
- furniture = new Furniture(position, vectorId, VectorType.Washstand);
- break;
- case VectorType.Desk:
- furniture = new Furniture(position, vectorId, VectorType.Desk);
- break;
- case VectorType.BalconyChair:
- furniture = new Furniture(position, vectorId, VectorType.BalconyChair);
- break;
- case VectorType.Elevator:
- furniture = new Furniture(position, vectorId, VectorType.Elevator);
- break;
- }
- dataService.addFurniture(furniture);
- return furniture;
- }
- isFurniture(geoType) {
- switch (geoType) {
- case VectorType.TV:
- return true;
- case VectorType.CombinationSofa:
- return true;
- case VectorType.SingleSofa:
- return true;
- case VectorType.TeaTable:
- return true;
- case VectorType.Carpet:
- return true;
- case VectorType.Plant:
- return true;
- case VectorType.DiningTable:
- return true;
- case VectorType.DoubleBed:
- return true;
- case VectorType.SingleBed:
- return true;
- case VectorType.Wardrobe:
- return true;
- case VectorType.Dresser:
- return true;
- case VectorType.BedsideCupboard:
- return true;
- case VectorType.Pillow:
- return true;
- case VectorType.GasStove:
- return true;
- case VectorType.Cupboard:
- return true;
- case VectorType.Bathtub:
- return true;
- case VectorType.Closestool:
- return true;
- case VectorType.Washstand:
- return true;
- case VectorType.Desk:
- return true;
- case VectorType.BalconyChair:
- return true;
- case VectorType.Elevator:
- return true;
- }
- return false;
- }
- setFurnitureInfo(furnitureInfo) {
- let furniture = dataService.getFurniture(furnitureInfo.vectorId);
- furniture.vectorId = furnitureInfo.vectorId;
- furniture.angle = furnitureInfo.angle;
- furniture.center = JSON.parse(JSON.stringify(furnitureInfo.center));
- }
- getFurniture(name) {
- return this.furnitures[name];
- }
- }
- const furnitureService = new FurnitureService();
- export { furnitureService };
|