From d4fa02aa07b6a50c4eecf2186e16a943e7802a86 Mon Sep 17 00:00:00 2001 From: "DESKTOP-474NEJQ\\xzsjob" <359059686@qq.com> Date: Sun, 20 Sep 2020 18:43:50 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=A2=84=E6=A1=88?= =?UTF-8?q?=E8=BE=85=E5=8A=A9=E5=9B=BE=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plan-assistance.component.html | 2 +- .../working-area/working-area.component.ts | 1288 ++++++++++++++++- src/assets/images/enterPaintButton.jpg | Bin 9762 -> 0 bytes src/assets/images/enterPaintButton.png | Bin 0 -> 36289 bytes src/assets/images/固定水泡.png | Bin 0 -> 5176 bytes src/assets/images/地上消火栓.png | Bin 0 -> 4578 bytes src/assets/images/泡沫栓.png | Bin 0 -> 6406 bytes 7 files changed, 1241 insertions(+), 49 deletions(-) delete mode 100644 src/assets/images/enterPaintButton.jpg create mode 100644 src/assets/images/enterPaintButton.png create mode 100644 src/assets/images/固定水泡.png create mode 100644 src/assets/images/地上消火栓.png create mode 100644 src/assets/images/泡沫栓.png diff --git a/src/app/ui/plan-assistance/plan-assistance.component.html b/src/app/ui/plan-assistance/plan-assistance.component.html index 4f08453..3b92400 100644 --- a/src/app/ui/plan-assistance/plan-assistance.component.html +++ b/src/app/ui/plan-assistance/plan-assistance.component.html @@ -1 +1 @@ -

plan-assistance works!

+ \ No newline at end of file diff --git a/src/app/working-area/working-area.component.ts b/src/app/working-area/working-area.component.ts index 75659d8..65e3761 100644 --- a/src/app/working-area/working-area.component.ts +++ b/src/app/working-area/working-area.component.ts @@ -4,7 +4,7 @@ import { EventEmitter } from 'events'; import { EventManager } from '@angular/platform-browser'; import { OutlineFilter } from 'pixi-filters'; import { CanvasShareDataService, GameMode } from '../canvas-share-data.service'; -import {CacheTokenService} from '../http-interceptors/cache-token.service' //引入自动登录 获取token服务 +import {CacheTokenService} from '../http-interceptors/cache-token.service'; // 引入自动登录 获取token服务 import * as ObjectID from 'bson-objectid'; import { Router } from '@angular/router'; @@ -17,7 +17,7 @@ import { Router } from '@angular/router'; export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterViewInit { - constructor(private eventManager: EventManager, public canvasData: CanvasShareDataService, public token: CacheTokenService,private router: Router,) { + constructor(private eventManager: EventManager, public canvasData: CanvasShareDataService, public token: CacheTokenService, private router: Router, ) { super(); } @@ -90,7 +90,7 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV /** * 确认绘制按钮 */ - private enterPaintEndButton = PIXI.Sprite.from('assets/images/enterPaintButton.jpg'); + private enterPaintEndButton = PIXI.Sprite.from('assets/images/enterPaintButton.png'); /** * 框选工具图形 */ @@ -110,26 +110,26 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV // 根据ID 找到数据 - //是否登录 - public verificationURL = '/ui/collectionTools' //验证url地址是否为验证页面 - isLogin () { - let token = sessionStorage.getItem('token') // 判断 是否登录状态 + // 是否登录 + public verificationURL = '/ui/collectionTools'; // 验证url地址是否为验证页面 + isLogin() { + const token = sessionStorage.getItem('token'); // 判断 是否登录状态 if (token) { - this.init.getAllLibrary() - this.init.getAllBuildings() - this.init.getAllFirePlan() - this.init.getSitePlan() //调用父组件 初始化方法 + this.init.getAllLibrary(); + this.init.getAllBuildings(); + this.init.getAllFirePlan(); + this.init.getSitePlan(); // 调用父组件 初始化方法 } else { - this.token.login().then(res=>{ - this.init.params.companyId = sessionStorage.getItem('companyId') - this.init.getAllLibrary() - this.init.getAllBuildings() - this.init.getAllFirePlan() - this.init.getSitePlan() //调用父组件 初始化方法 - }) + this.token.login().then(res => { + this.init.params.companyId = sessionStorage.getItem('companyId'); + this.init.getAllLibrary(); + this.init.getAllBuildings(); + this.init.getAllFirePlan(); + this.init.getSitePlan(); // 调用父组件 初始化方法 + }); } } - //是否登录 + // 是否登录 ngOnInit(): void { this.eventManager.addGlobalEventListener('window', 'keydown', (event: any) => { @@ -230,8 +230,9 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV backgroundColor: 0xE9FAFF }); this.content.nativeElement.appendChild(this.app.view); - let url = this.router.url - url == this.verificationURL? this.isLogin() : null + const url = this.router.url; + // tslint:disable-next-line: no-unused-expression + url === this.verificationURL ? this.isLogin() : null; this.createBackgroundImage(); // this.createPreviewSinglePointIcon(); @@ -384,34 +385,1224 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV public loadDemoScene() { this.backgroundImage.texture = PIXI.Texture.from('./assets/images/demo.jpg'); setTimeout(() => { - const assetData = { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫消防车.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5295 - (this.backgroundImage.texture.width / 2), 4067 - (this.backgroundImage.texture.height / 2)), - Name: '', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: 0 - }; - const single = new SinglePointIcon(assetData, this); - }, 100); + const list = [ + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5295 - (this.backgroundImage.texture.width / 2), 4067 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓0', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(6117 - (this.backgroundImage.texture.width / 2), 3811 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓1', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(6117 - (this.backgroundImage.texture.width / 2), 3437 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓2', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(6117 - (this.backgroundImage.texture.width / 2), 2896 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓3', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(6117 - (this.backgroundImage.texture.width / 2), 2600 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓4', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5450 - (this.backgroundImage.texture.width / 2), 2420 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓5', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5149 - (this.backgroundImage.texture.width / 2), 2849 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓6', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5149 - (this.backgroundImage.texture.width / 2), 3609 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓7', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(4991 - (this.backgroundImage.texture.width / 2), 4175 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓8', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(4580 - (this.backgroundImage.texture.width / 2), 4175 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓9', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(3986 - (this.backgroundImage.texture.width / 2), 4337 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓10', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(3557 - (this.backgroundImage.texture.width / 2), 4337 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓11', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(3481 - (this.backgroundImage.texture.width / 2), 3844 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓12', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(3804 - (this.backgroundImage.texture.width / 2), 3844 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓13', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(4136 - (this.backgroundImage.texture.width / 2), 3844 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓14', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(4544 - (this.backgroundImage.texture.width / 2), 3234 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓15', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(4086 - (this.backgroundImage.texture.width / 2), 3234 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓16', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(3445 - (this.backgroundImage.texture.width / 2), 3234 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓17', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(2458 - (this.backgroundImage.texture.width / 2), 3532 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓18', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(2458 - (this.backgroundImage.texture.width / 2), 4492 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓19', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(4130 - (this.backgroundImage.texture.width / 2), 2683 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓20', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(4904 - (this.backgroundImage.texture.width / 2), 2455 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓21', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5137 - (this.backgroundImage.texture.width / 2), 2156 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓22', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(6922 - (this.backgroundImage.texture.width / 2), 2481 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓23', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(6922 - (this.backgroundImage.texture.width / 2), 3017 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓24', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5931 - (this.backgroundImage.texture.width / 2), 3119 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓25', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(4087 - (this.backgroundImage.texture.width / 2), 2398 - (this.backgroundImage.texture.height / 2)), + Name: '地上消火栓26', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5361 - (this.backgroundImage.texture.width / 2), 4042 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓0', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5943 - (this.backgroundImage.texture.width / 2), 4042 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓1', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(6047 - (this.backgroundImage.texture.width / 2), 2410 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓2', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5517 - (this.backgroundImage.texture.width / 2), 2440 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓3', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5187 - (this.backgroundImage.texture.width / 2), 2819 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓4', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5187 - (this.backgroundImage.texture.width / 2), 3645 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓5', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(4504 - (this.backgroundImage.texture.width / 2), 3267 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓6', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(2468 - (this.backgroundImage.texture.width / 2), 3576 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓7', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(2468 - (this.backgroundImage.texture.width / 2), 4533 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓8', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5081 - (this.backgroundImage.texture.width / 2), 2140 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓9', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(6875 - (this.backgroundImage.texture.width / 2), 2441 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓10', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(6875 - (this.backgroundImage.texture.width / 2), 3063 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓11', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5981 - (this.backgroundImage.texture.width / 2), 3095 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓12', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5570 - (this.backgroundImage.texture.width / 2), 3095 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓13', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(4093 - (this.backgroundImage.texture.width / 2), 2468 - (this.backgroundImage.texture.height / 2)), + Name: '泡沫栓14', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5892 - (this.backgroundImage.texture.width / 2), 4067 - (this.backgroundImage.texture.height / 2)), + Name: '固定水泡0', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5993 - (this.backgroundImage.texture.width / 2), 2378 - (this.backgroundImage.texture.height / 2)), + Name: '固定水泡1', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(3464 - (this.backgroundImage.texture.width / 2), 3844 - (this.backgroundImage.texture.height / 2)), + Name: '固定水泡2', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(3646 - (this.backgroundImage.texture.width / 2), 3844 - (this.backgroundImage.texture.height / 2)), + Name: '固定水泡3', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(3978 - (this.backgroundImage.texture.width / 2), 3844 - (this.backgroundImage.texture.height / 2)), + Name: '固定水泡4', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(4041 - (this.backgroundImage.texture.width / 2), 3267 - (this.backgroundImage.texture.height / 2)), + Name: '固定水泡5', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(3408 - (this.backgroundImage.texture.width / 2), 3267 - (this.backgroundImage.texture.height / 2)), + Name: '固定水泡6', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: ObjectID.default.generate(), + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: new PIXI.Point(5363 - (this.backgroundImage.texture.width / 2), 3119 - (this.backgroundImage.texture.height / 2)), + Name: '固定水泡7', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: GameMode.BasicInformation + } + ]; + + console.log(JSON.stringify(list)); + + - // this.backgroundImage.anchor.set(0); + list.forEach(element => { + const single = new SinglePointIcon(element, this); + }); + + // const single = new SinglePointIcon(assetData0, this); + + + this.setNameVisible(false, GameMode.BasicInformation); + + this.allowEdit = false; + }, 100); } /** * @@ -993,6 +2184,7 @@ export class SinglePointIcon extends PIXI.Container { this.image.interactive = true; this.image .on('mousedown', event => { + console.log(this.assetData.Name); event.stopPropagation(); this.workingArea.selection.selectOne(this); if (this.workingArea.allowEdit) { diff --git a/src/assets/images/enterPaintButton.jpg b/src/assets/images/enterPaintButton.jpg deleted file mode 100644 index 44b5faf151029c39bee04c13c6c19f0c40bb1cb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9762 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
sQ{LB6qK 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�|_;%J^efHM?C0LVJ`EF~0CUOvx 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%0Ak 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/泡沫栓.png b/src/assets/images/泡沫栓.png new file mode 100644 index 0000000000000000000000000000000000000000..73fb9d78fda4da2b77767c3e09d27f5095baace1 GIT binary patch literal 6406 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 literal 0 HcmV?d00001 From a8fd0cdbdc9662620526286103427214b15ff0da Mon Sep 17 00:00:00 2001 From: "DESKTOP-474NEJQ\\xzsjob" <359059686@qq.com> Date: Mon, 21 Sep 2020 09:14:23 +0800 Subject: [PATCH 2/3] =?UTF-8?q?[=E4=BF=AE=E6=AD=A3]=20=E5=86=85=E5=AD=98?= =?UTF-8?q?=E6=BA=A2=E5=87=BA=E8=AD=A6=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plan-assistance.component.html | 2 +- .../plan-assistance.component.ts | 1367 ++++++++++++++++- .../working-area/working-area.component.ts | 1287 +--------------- 3 files changed, 1409 insertions(+), 1247 deletions(-) diff --git a/src/app/ui/plan-assistance/plan-assistance.component.html b/src/app/ui/plan-assistance/plan-assistance.component.html index 3b92400..8c77164 100644 --- a/src/app/ui/plan-assistance/plan-assistance.component.html +++ b/src/app/ui/plan-assistance/plan-assistance.component.html @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/src/app/ui/plan-assistance/plan-assistance.component.ts b/src/app/ui/plan-assistance/plan-assistance.component.ts index be069d7..e0f413c 100644 --- a/src/app/ui/plan-assistance/plan-assistance.component.ts +++ b/src/app/ui/plan-assistance/plan-assistance.component.ts @@ -1,15 +1,1376 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, AfterViewInit, ViewChild } from '@angular/core'; +import { WorkingAreaComponent } from 'src/app/working-area/working-area.component'; @Component({ selector: 'app-plan-assistance', templateUrl: './plan-assistance.component.html', styleUrls: ['./plan-assistance.component.scss'] }) -export class PlanAssistanceComponent implements OnInit { - +export class PlanAssistanceComponent implements OnInit, AfterViewInit { constructor() { } + @ViewChild('workingArea') + workingArea: WorkingAreaComponent; + + + demoData = [ + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048cae9d', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1295, + y: 1237 + }, + Name: '地上消火栓0', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048cae9e', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 2117, + y: 981 + }, + Name: '地上消火栓1', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048cae9f', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 2117, + y: 607 + }, + Name: '地上消火栓2', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caea0', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 2117, + y: 66 + }, + Name: '地上消火栓3', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caea1', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 2117, + y: -230 + }, + Name: '地上消火栓4', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caea2', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1450, + y: -410 + }, + Name: '地上消火栓5', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caea3', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1149, + y: 19 + }, + Name: '地上消火栓6', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caea4', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1149, + y: 779 + }, + Name: '地上消火栓7', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caea5', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 991, + y: 1345 + }, + Name: '地上消火栓8', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caea6', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 580, + y: 1345 + }, + Name: '地上消火栓9', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caea7', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: -14, + y: 1507 + }, + Name: '地上消火栓10', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caea8', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: -443, + y: 1507 + }, + Name: '地上消火栓11', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caea9', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: -519, + y: 1014 + }, + Name: '地上消火栓12', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeaa', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: -196, + y: 1014 + }, + Name: '地上消火栓13', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeab', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 136, + y: 1014 + }, + Name: '地上消火栓14', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeac', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 544, + y: 404 + }, + Name: '地上消火栓15', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caead', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 86, + y: 404 + }, + Name: '地上消火栓16', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeae', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: -555, + y: 404 + }, + Name: '地上消火栓17', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeaf', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: -1542, + y: 702 + }, + Name: '地上消火栓18', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeb0', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: -1542, + y: 1662 + }, + Name: '地上消火栓19', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeb1', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 130, + y: -147 + }, + Name: '地上消火栓20', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeb2', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 904, + y: -375 + }, + Name: '地上消火栓21', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeb3', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1137, + y: -674 + }, + Name: '地上消火栓22', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeb4', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 2922, + y: -349 + }, + Name: '地上消火栓23', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeb5', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 2922, + y: 187 + }, + Name: '地上消火栓24', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeb6', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1931, + y: 289 + }, + Name: '地上消火栓25', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeb7', + ImageUrl: './assets/images/地上消火栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 87, + y: -432 + }, + Name: '地上消火栓26', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeb8', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1361, + y: 1212 + }, + Name: '泡沫栓0', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeb9', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1943, + y: 1212 + }, + Name: '泡沫栓1', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeba', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 2047, + y: -420 + }, + Name: '泡沫栓2', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caebb', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1517, + y: -390 + }, + Name: '泡沫栓3', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caebc', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1187, + y: -11 + }, + Name: '泡沫栓4', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caebd', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1187, + y: 815 + }, + Name: '泡沫栓5', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caebe', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 504, + y: 437 + }, + Name: '泡沫栓6', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caebf', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: -1532, + y: 746 + }, + Name: '泡沫栓7', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caec0', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: -1532, + y: 1703 + }, + Name: '泡沫栓8', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caec1', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1081, + y: -690 + }, + Name: '泡沫栓9', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caec2', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 2875, + y: -389 + }, + Name: '泡沫栓10', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caec3', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 2875, + y: 233 + }, + Name: '泡沫栓11', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caec4', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1981, + y: 265 + }, + Name: '泡沫栓12', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caec5', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1570, + y: 265 + }, + Name: '泡沫栓13', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caec6', + ImageUrl: './assets/images/泡沫栓.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 93, + y: -362 + }, + Name: '泡沫栓14', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caec7', + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1892, + y: 1237 + }, + Name: '固定水泡0', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caec8', + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1993, + y: -452 + }, + Name: '固定水泡1', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caec9', + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: -536, + y: 1014 + }, + Name: '固定水泡2', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caeca', + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: -354, + y: 1014 + }, + Name: '固定水泡3', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caecb', + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: -22, + y: 1014 + }, + Name: '固定水泡4', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caecc', + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 41, + y: 437 + }, + Name: '固定水泡5', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caecd', + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: -592, + y: 437 + }, + Name: '固定水泡6', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + }, + { + TemplateId: null, + FloorId: null, + Angle: 0, + Color: 0, + Enabled: true, + FillMode: 0, + FireElementId: 0, + FixedSize: true, + Height: 32, + Width: 32, + Id: '5f67f92238f13cd2048caece', + ImageUrl: './assets/images/固定水泡.png', + InteractiveMode: 0, + MultiPoint: null, + Point: { + x: 1363, + y: 289 + }, + Name: '固定水泡7', + PropertyInfos: null, + Border: null, + DrawMode: null, + Thickness: 0, + IsFromBuilding: false, + GameMode: 0 + } + ]; + ngOnInit(): void { + } + ngAfterViewInit(): void { + this.workingArea.loadDemoScene(this.demoData); + } } diff --git a/src/app/working-area/working-area.component.ts b/src/app/working-area/working-area.component.ts index c66c293..d49eb87 100644 --- a/src/app/working-area/working-area.component.ts +++ b/src/app/working-area/working-area.component.ts @@ -168,14 +168,13 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV this.eventManager.addGlobalEventListener('window', 'keypress', (event: any) => { }); - setTimeout(() => { - this.createCanvas(); - this.loadDemoScene(); - }, 0); + // setTimeout(() => { + // this.createCanvas(); + // }, 0); } ngAfterViewInit(): void { - + this.createCanvas(); } /** * @@ -258,6 +257,22 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV obj.filters = []; } }); + this.on('backgroundScale', scale => { + this.backgroundImage.children.forEach(item => { + if (item instanceof SinglePointIcon) { + if (item.assetData.FixedSize) { + const data = 1 / scale; + item.scale.set(data); + } + } else if (item instanceof MultipointIcon) { + const data = 1 / scale; + item.text.scale.set(scale); + } else if (item instanceof PolygonIcon) { + const data = 1 / scale; + item.text.scale.set(scale); + } + }); + }); this.app.ticker.add((delta) => { this.mousePosition = this.app.renderer.plugins.interaction.mouse.global; @@ -382,1227 +397,13 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV /** * 加载测试界面 */ - public loadDemoScene() { + public loadDemoScene(list: any[]) { this.backgroundImage.texture = PIXI.Texture.from('./assets/images/demo.jpg'); - setTimeout(() => { - const list = [ - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5295 - (this.backgroundImage.texture.width / 2), 4067 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓0', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(6117 - (this.backgroundImage.texture.width / 2), 3811 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓1', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(6117 - (this.backgroundImage.texture.width / 2), 3437 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓2', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(6117 - (this.backgroundImage.texture.width / 2), 2896 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓3', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(6117 - (this.backgroundImage.texture.width / 2), 2600 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓4', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5450 - (this.backgroundImage.texture.width / 2), 2420 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓5', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5149 - (this.backgroundImage.texture.width / 2), 2849 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓6', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5149 - (this.backgroundImage.texture.width / 2), 3609 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓7', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(4991 - (this.backgroundImage.texture.width / 2), 4175 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓8', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(4580 - (this.backgroundImage.texture.width / 2), 4175 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓9', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(3986 - (this.backgroundImage.texture.width / 2), 4337 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓10', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(3557 - (this.backgroundImage.texture.width / 2), 4337 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓11', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(3481 - (this.backgroundImage.texture.width / 2), 3844 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓12', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(3804 - (this.backgroundImage.texture.width / 2), 3844 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓13', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(4136 - (this.backgroundImage.texture.width / 2), 3844 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓14', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(4544 - (this.backgroundImage.texture.width / 2), 3234 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓15', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(4086 - (this.backgroundImage.texture.width / 2), 3234 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓16', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(3445 - (this.backgroundImage.texture.width / 2), 3234 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓17', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(2458 - (this.backgroundImage.texture.width / 2), 3532 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓18', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(2458 - (this.backgroundImage.texture.width / 2), 4492 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓19', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(4130 - (this.backgroundImage.texture.width / 2), 2683 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓20', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(4904 - (this.backgroundImage.texture.width / 2), 2455 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓21', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5137 - (this.backgroundImage.texture.width / 2), 2156 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓22', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(6922 - (this.backgroundImage.texture.width / 2), 2481 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓23', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(6922 - (this.backgroundImage.texture.width / 2), 3017 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓24', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5931 - (this.backgroundImage.texture.width / 2), 3119 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓25', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/地上消火栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(4087 - (this.backgroundImage.texture.width / 2), 2398 - (this.backgroundImage.texture.height / 2)), - Name: '地上消火栓26', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5361 - (this.backgroundImage.texture.width / 2), 4042 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓0', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5943 - (this.backgroundImage.texture.width / 2), 4042 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓1', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(6047 - (this.backgroundImage.texture.width / 2), 2410 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓2', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5517 - (this.backgroundImage.texture.width / 2), 2440 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓3', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5187 - (this.backgroundImage.texture.width / 2), 2819 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓4', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5187 - (this.backgroundImage.texture.width / 2), 3645 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓5', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(4504 - (this.backgroundImage.texture.width / 2), 3267 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓6', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(2468 - (this.backgroundImage.texture.width / 2), 3576 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓7', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(2468 - (this.backgroundImage.texture.width / 2), 4533 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓8', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5081 - (this.backgroundImage.texture.width / 2), 2140 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓9', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(6875 - (this.backgroundImage.texture.width / 2), 2441 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓10', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(6875 - (this.backgroundImage.texture.width / 2), 3063 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓11', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5981 - (this.backgroundImage.texture.width / 2), 3095 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓12', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5570 - (this.backgroundImage.texture.width / 2), 3095 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓13', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/泡沫栓.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(4093 - (this.backgroundImage.texture.width / 2), 2468 - (this.backgroundImage.texture.height / 2)), - Name: '泡沫栓14', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/固定水泡.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5892 - (this.backgroundImage.texture.width / 2), 4067 - (this.backgroundImage.texture.height / 2)), - Name: '固定水泡0', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/固定水泡.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5993 - (this.backgroundImage.texture.width / 2), 2378 - (this.backgroundImage.texture.height / 2)), - Name: '固定水泡1', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/固定水泡.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(3464 - (this.backgroundImage.texture.width / 2), 3844 - (this.backgroundImage.texture.height / 2)), - Name: '固定水泡2', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/固定水泡.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(3646 - (this.backgroundImage.texture.width / 2), 3844 - (this.backgroundImage.texture.height / 2)), - Name: '固定水泡3', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/固定水泡.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(3978 - (this.backgroundImage.texture.width / 2), 3844 - (this.backgroundImage.texture.height / 2)), - Name: '固定水泡4', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/固定水泡.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(4041 - (this.backgroundImage.texture.width / 2), 3267 - (this.backgroundImage.texture.height / 2)), - Name: '固定水泡5', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/固定水泡.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(3408 - (this.backgroundImage.texture.width / 2), 3267 - (this.backgroundImage.texture.height / 2)), - Name: '固定水泡6', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - }, - { - TemplateId: null, - FloorId: null, - Angle: 0, - Color: 0, - Enabled: true, - FillMode: 0, - FireElementId: 0, - FixedSize: true, - Height: 32, - Width: 32, - Id: ObjectID.default.generate(), - ImageUrl: './assets/images/固定水泡.png', - InteractiveMode: 0, - MultiPoint: null, - Point: new PIXI.Point(5363 - (this.backgroundImage.texture.width / 2), 3119 - (this.backgroundImage.texture.height / 2)), - Name: '固定水泡7', - PropertyInfos: null, - Border: null, - DrawMode: null, - Thickness: 0, - IsFromBuilding: false, - GameMode: GameMode.BasicInformation - } - ]; - - console.log(JSON.stringify(list)); - - - - list.forEach(element => { - const single = new SinglePointIcon(element, this); - }); - - // const single = new SinglePointIcon(assetData0, this); - - - this.setNameVisible(false, GameMode.BasicInformation); - - this.allowEdit = false; - }, 100); + list.forEach(element => { + const single = new SinglePointIcon(element, this); + }); + this.setNameVisible(false, GameMode.BasicInformation); + this.allowEdit = false; } /** * @@ -2223,12 +1024,12 @@ export class SinglePointIcon extends PIXI.Container { }); - this.workingArea.on('backgroundScale', data => { - if (this.assetData.FixedSize) { - const scale = 1 / data; - this.scale.set(scale); - } - }); + // this.workingArea.on('backgroundScale', data => { + // if (this.assetData.FixedSize) { + // const scale = 1 / data; + // this.scale.set(scale); + // } + // }); this.text.x = this.image.x; this.text.y = this.image.y - this.image.height / 2; @@ -2279,7 +1080,7 @@ export class MultipointIcon extends PIXI.Container { wordWrapWidth: 100, }); - private text = new PIXI.Text(this.assetData.Name + public text = new PIXI.Text(this.assetData.Name + '\r\n' + this.assetData.PropertyInfos?.find(item => item.PropertyName === '名称/编号')?.PropertyValue, this.style); /** @@ -2422,11 +1223,11 @@ export class MultipointIcon extends PIXI.Container { }); }); - // 缩放 - this.workingArea.on('backgroundScale', data => { - const scale = 1 / data; - this.text.scale.set(scale); - }); + // // 缩放 + // this.workingArea.on('backgroundScale', data => { + // const scale = 1 / data; + // this.text.scale.set(scale); + // }); // 添加选中事件 this.iconsTilingSprite.forEach((item, index, array) => { item.interactive = true; @@ -2519,7 +1320,7 @@ export class PolygonIcon extends PIXI.Container { wordWrapWidth: 100, }); - private text = new PIXI.Text(this.assetData.Name + public text = new PIXI.Text(this.assetData.Name + '\r\n' + this.assetData.PropertyInfos.find(item => item.PropertyName === '名称/编号')?.PropertyValue, this.style); /** @@ -2660,11 +1461,11 @@ export class PolygonIcon extends PIXI.Container { .on('rightclick', event => { // this.workingArea.selection.deselectAll(); }); - // 缩放 - this.workingArea.on('backgroundScale', data => { - const scale = 1 / data; - this.text.scale.set(scale); - }); + // // 缩放 + // this.workingArea.on('backgroundScale', data => { + // const scale = 1 / data; + // this.text.scale.set(scale); + // }); } /** * 设置点显示状态 From 9e0fd88801e45c343f3e38f45e951e6f4c9cb532 Mon Sep 17 00:00:00 2001 From: username <1105965053@qq.com> Date: Mon, 21 Sep 2020 09:16:03 +0800 Subject: [PATCH 3/3] =?UTF-8?q?[=E5=AE=8C=E5=96=84]=20=E5=B9=B3=E9=9D=A2?= =?UTF-8?q?=E5=9B=BE=20=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/http-interceptors/base-interceptor.ts | 1 + .../http-interceptors/cache-token.service.ts | 6 +-- src/app/navigation/navigation.component.html | 2 +- src/app/navigation/navigation.component.scss | 45 +++++++++---------- src/app/ui/plan/collection-tools.component.ts | 17 +++---- .../working-area/working-area.component.ts | 12 ++--- 6 files changed, 40 insertions(+), 43 deletions(-) diff --git a/src/app/http-interceptors/base-interceptor.ts b/src/app/http-interceptors/base-interceptor.ts index 971bc44..76b39b8 100644 --- a/src/app/http-interceptors/base-interceptor.ts +++ b/src/app/http-interceptors/base-interceptor.ts @@ -47,6 +47,7 @@ export class BaseInterceptor implements HttpInterceptor { this.token.delete() sessionStorage.clear() window.localStorage.clear() + this.router.navigate(['ui/plan']) const config = new MatSnackBarConfig(); config.verticalPosition = 'top'; config.duration = 3000 diff --git a/src/app/http-interceptors/cache-token.service.ts b/src/app/http-interceptors/cache-token.service.ts index 3360241..ec040d3 100644 --- a/src/app/http-interceptors/cache-token.service.ts +++ b/src/app/http-interceptors/cache-token.service.ts @@ -15,9 +15,9 @@ export class CacheTokenService { login () { return new Promise ((resolve,reject)=>{ - sessionStorage.setItem("buildingTypeId",'5e7c9027a3050b1a840ed4b8'); //建筑类型 - sessionStorage.setItem("planId",'5f52fd529e91f4410005eac5'); //预案ID - sessionStorage.setItem("companyId",'5e9964caa760a059e84512e9'); //单位ID + sessionStorage.setItem("buildingTypeId",'5e7c9078a3050b1a840ed4ba'); //建筑类型 + sessionStorage.setItem("planId",''); //预案ID + sessionStorage.setItem("companyId",'5f67042b9e91f4410005f55c'); //单位ID this.http.post('/api/Account/SignIn',this.loginData).subscribe((data:any)=>{ sessionStorage.setItem("level",data.level); sessionStorage.setItem("token",data.token); diff --git a/src/app/navigation/navigation.component.html b/src/app/navigation/navigation.component.html index 24d0ee1..2518959 100644 --- a/src/app/navigation/navigation.component.html +++ b/src/app/navigation/navigation.component.html @@ -1,7 +1,7 @@

-
着火单位: 高科技创业园
+
着火单位: 贵港油库
{{item.name}}
diff --git a/src/app/navigation/navigation.component.scss b/src/app/navigation/navigation.component.scss index 138ec9f..8b66e7e 100644 --- a/src/app/navigation/navigation.component.scss +++ b/src/app/navigation/navigation.component.scss @@ -5,7 +5,7 @@ -moz-background-size:100% 100%; background-size:100% 100%; box-sizing: border-box; - padding: 5px 25px; + padding: 10px 38px 28px; overflow: hidden; display: flex; flex-direction: column; @@ -15,43 +15,42 @@ header { width: 100%; height: 80px; - border: 1px solid #30bbec; - border-top: none;; + border-bottom: 1px solid #30bbec; + overflow: hidden; .title { width: 100%; height: 25px; - line-height: 25px; text-align: center; - font-size: 18px; + font-size: 20px; font-weight: 550; color: red; } .router{ width: 100%; height: 55px; - outline: none; - .routerText { - display: inline-block; - margin: 7px 15px; - width: 150px; - height: 37px; - line-height: 37px; - font-size: 20px; - text-align: center; - border-top-left-radius: 15px; - border-bottom-right-radius: 15px; - cursor:pointer; - outline: none; - border: 2px solid #999; - color: #999; - } } } +//路由DIV +.routerText { + display: inline-block; + margin: 7px 15px; + width: 150px; + height: 37px; + line-height: 37px; + font-size: 20px; + text-align: center; + border-top-left-radius: 15px; + border-bottom-right-radius: 15px; + cursor:pointer; + outline: none; + border: 2px solid #fff; + color: #fff; +} //路由选中样式 .routerLinkActive { - background-color: rgba(240,136,14,0.3); - outline: none; + border: 2px solid rgb(248, 161, 62); + background-color: rgba(240,136,14,0.65); } //中间区域 diff --git a/src/app/ui/plan/collection-tools.component.ts b/src/app/ui/plan/collection-tools.component.ts index d7b63f0..86eb500 100644 --- a/src/app/ui/plan/collection-tools.component.ts +++ b/src/app/ui/plan/collection-tools.component.ts @@ -639,24 +639,21 @@ export class planComponent implements OnInit { //计算 可视区域内宽度, 是否缩放背景图 backGroundScale () { let that = this - let dad = document.querySelector('.functionalDomainContent').clientWidth - let dadHeight = document.querySelector('.functionalDomainContent').clientHeight - let left = document.querySelector('.functionalDomainLeft').clientWidth - let right = document.querySelector('.functionalDomainRight').clientWidth - let imgWidth = dad - left - right//可视区域内 宽度 + let dadWidth = document.querySelector('.canvas').clientWidth + let dadHeight = document.querySelector('.canvas').clientHeight let img = new Image() img.src = this.selectingSitePlan.imageUrl; img.onload = function(){ - if (img.height > dadHeight && img.width > imgWidth) { - let width = imgWidth/img.width + if (img.height > dadHeight && img.width > dadWidth) { + let width = dadWidth/img.width let height = dadHeight/img.height that.canvas.setBackgroundScale((width>height? height : width)-0.005) return } else if (img.height > dadHeight) { that.canvas.setBackgroundScale((dadHeight/img.height)-0.005) return - } else if (img.width > imgWidth) { - that.canvas.setBackgroundScale((imgWidth/img.width)-0.005) + } else if (img.width > dadWidth) { + that.canvas.setBackgroundScale((dadWidth/img.width)-0.005) return } }; @@ -695,7 +692,7 @@ export class planComponent implements OnInit { //陈鹏飞↓↓↓ //陈鹏飞↓↓↓ //陈鹏飞↓↓↓ - params = {companyId: "5e9964caa760a059e84512e9"} + params = {companyId: sessionStorage.getItem('companyId')} allFireElements:any = []; //当前 单位/建筑 下的消防要素 isShowAttribute:boolean = true; //属性栏 是否显示 默认数据 diff --git a/src/app/working-area/working-area.component.ts b/src/app/working-area/working-area.component.ts index a32bf2d..fd1f759 100644 --- a/src/app/working-area/working-area.component.ts +++ b/src/app/working-area/working-area.component.ts @@ -115,16 +115,16 @@ export class WorkingAreaComponent extends EventEmitter implements OnInit, AfterV isLogin () { let token = sessionStorage.getItem('token') // 判断 是否登录状态 if (token) { - this.init.getAllLibrary() - this.init.getAllBuildings() - this.init.getAllFirePlan() + // this.init.getAllLibrary() //获取素材库 + this.init.getAllBuildings() //获取所有建筑 + this.init.getAllFirePlan() //获取所有灾情 this.init.getSitePlan() //调用父组件 初始化方法 } else { this.token.login().then(res=>{ this.init.params.companyId = sessionStorage.getItem('companyId') - this.init.getAllLibrary() - this.init.getAllBuildings() - this.init.getAllFirePlan() + // this.init.getAllLibrary() //获取素材库 + this.init.getAllBuildings() //获取所有建筑 + this.init.getAllFirePlan() //获取所有灾情 this.init.getSitePlan() //调用父组件 初始化方法 }) }