فهرست منبع

增加创建业务空间

haojianlong 4 سال پیش
والد
کامیت
9f764945cf
1فایلهای تغییر یافته به همراه33 افزوده شده و 0 حذف شده
  1. 33 0
      src/utils/graph/FloorScene.ts

+ 33 - 0
src/utils/graph/FloorScene.ts

@@ -12,6 +12,7 @@ import { Door } from "@persagy-web/big/lib/types/floor/Door";
 import { Space } from "@persagy-web/big/lib/types/floor/Space";
 import { VirtualWall } from "@persagy-web/big/lib/types/floor/VirtualWall";
 import { Wall } from "@persagy-web/big/lib/types/floor/Wall";
+import { Zone } from "@persagy-web/big/lib/types/floor/Zone";
 import { FloorData } from "@persagy-web/big/lib/types/FloorData";
 import { SGraphScene } from "@persagy-web/graph/lib";
 
@@ -76,6 +77,8 @@ export class FloorScene extends SGraphScene {
         super()
         // 设置始终不出现选择器
         this.selectContainer.showSelect = false;
+        // 绑定选择器事件
+        this.selectContainer.connect("selectChange", this, this.selectChange);
     }
 
     /**
@@ -199,4 +202,34 @@ export class FloorScene extends SGraphScene {
         this.casementList.push(item);
         this.addItem(item);
     } // Function addCasement()
+
+    /**
+     *  添加业务空间到scene 中
+     *
+     *  @param  zone   业务空间list
+     */
+    addZoneList(zone: Zone[]): void {
+        zone.forEach((t): void => {
+            this.addZone(t);
+        });
+    } // Function addZoneList()
+
+    /**
+     *  添加业务空间到scene 中
+     *
+     *  @param  zone   业务空间
+     */
+    addZone(zone: Zone): void {
+        let item = new SZoneItem(null, zone);
+        item.selectable = this.isZoneSelectable;
+        this.zoneList.push(item);
+        this.addItem(item);
+    } // Function addZone()
+
+    /**
+     * 选择器触发事件
+    */
+   selectChange() {
+       console.log(arguments);       
+   }
 }