人生啊人生 10 mēneši atpakaļ
vecāks
revīzija
84e8d62ad3

+ 63 - 0
src/components/student/ThreeWorldEvent/event/TypeEvent.ts

@@ -0,0 +1,63 @@
+/**
+ * 根据传来不同的类型操作三维不同的逻辑
+ */
+export class TypeEvent {
+    
+    // 已经封装好的,编辑器的类对象,内置可以直接调用的代码
+    public objIframeEdit : any = null;
+    // iframe对象
+    public objIframe : any = null;
+    // 3d世界的场景,后续要操作3d世界常用的对象
+    public objScene : any = null;
+    // babylon 对象,懂babylon,就可以使用babylon的api去操作
+    public BABYLON : any = null;
+    
+    static instance: any;
+
+    // 每次 new 出对象则会调用这个构造函数
+    constructor() {
+        
+    }
+
+    // 实现单例模式
+    static find() {
+        if (!TypeEvent.instance) {
+            TypeEvent.instance = new TypeEvent();
+        }
+        return TypeEvent.instance;
+    }
+
+    /**
+     * 初始化方法
+     * objIframeEdit    已经封装好的,编辑器的类对象,内置可以直接调用的代码
+     * objIframe        iframe对象
+     * objScene         场景对象
+     * BABYLON          babylon.js对象,用于后续调用babylon的代码去创建更新等操作
+     */
+    initObj = (objIframeEdit : any, objIframe : any, objScene : any, BABYLON : any) => {
+        
+        if (this.objIframe != null && this.objIframe != undefined) {
+            return this;
+        }
+
+        this.objIframeEdit = objIframeEdit;
+        this.objIframe = objIframe;
+        this.objScene = objScene;
+        this.BABYLON = BABYLON;
+        
+        return this;
+
+    }
+    
+}
+
+
+
+
+
+
+
+
+
+
+

+ 1 - 21
src/components/student/ThreeWorldEvent/js/ThreeWorldEventMain.ts

@@ -1,4 +1,3 @@
-import { ThreeWorldEvent } from './ThreeWorldEvent.js';
 /**
  * 操作3d世界的,单例模式的类对象
  */
@@ -46,29 +45,10 @@ export class ThreeWorldEventMain {
         this.objScene = objScene;
         this.BABYLON = BABYLON;
         
-        this.initClass();
-        
         return this;
 
     }
-
-    /**
-     * 初始化其他会用到的类对象
-     */
-    initClass = () => {
-
-        this.objThreeWorldEvent = new ThreeWorldEvent();
-        this.objThreeWorldEvent.initObj(
-            this.objIframeEdit,
-            this.objIframe,
-            this.objScene,
-            this.BABYLON
-        );
-
-        return this;
-
-    }
-
+    
     /**
      * 切换到飞行模式,切换到指定的视角
      */