|
@@ -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;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|