|
@@ -178,39 +178,26 @@ export const associationModels = (sdk: SDK) => {
|
|
|
active: custom.currentModel,
|
|
|
}),
|
|
|
(status, oldStatus, onCleanup) => {
|
|
|
- if (!status.active) return;
|
|
|
- const sceneModel = getSceneModel(status.active)!;
|
|
|
+ const model = status.active && getSceneModel(status.active)!;
|
|
|
+ const oldModel = oldStatus.active && getSceneModel(oldStatus.active)!;
|
|
|
|
|
|
- onCleanup(() => {
|
|
|
- console.log(status.active!.title, "noAcitve");
|
|
|
- sceneModel.changeSelect(false);
|
|
|
- });
|
|
|
-
|
|
|
- if (status.showMode === "pano") {
|
|
|
- if (sceneModel.supportPano()) {
|
|
|
- sceneModel.changeSelect(true);
|
|
|
- sceneModel.flyInPano();
|
|
|
- onCleanup(() => {
|
|
|
- console.log(status.active!.title, "flyOutPano");
|
|
|
- sceneModel.changeSelect(false);
|
|
|
- sceneModel.flyOutPano();
|
|
|
- });
|
|
|
+ if (model && status.active === oldStatus.active) {
|
|
|
+ if (status.showMode === "pano") {
|
|
|
+ model && model.flyInPano();
|
|
|
} else {
|
|
|
- custom.showMode = "fuse";
|
|
|
- onCleanup(() => {});
|
|
|
+ model && model.flyOutPano();
|
|
|
}
|
|
|
} else {
|
|
|
- if (oldStatus.showMode === "pano") {
|
|
|
- setTimeout(() => {
|
|
|
- sceneModel.changeSelect(true);
|
|
|
- }, 100);
|
|
|
- } else {
|
|
|
- sceneModel.changeSelect(true);
|
|
|
+ oldModel && oldModel.changeSelect(false);
|
|
|
+ if (oldStatus.showMode !== status.showMode) {
|
|
|
+ if (oldStatus.showMode === "pano") {
|
|
|
+ oldModel && oldModel.flyOutPano();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (status.showMode === "pano") {
|
|
|
+ model && model.flyInPano();
|
|
|
+ model && model.changeSelect(true);
|
|
|
}
|
|
|
- onCleanup(() => {
|
|
|
- console.log(status.active!.title, "noAcitve");
|
|
|
- sceneModel.changeSelect(false);
|
|
|
- });
|
|
|
}
|
|
|
}
|
|
|
);
|