diff --git a/src/services/bintask-manager.service.ts b/src/services/bintask-manager.service.ts
index 8426ecd..bab78ce 100644
--- a/src/services/bintask-manager.service.ts
+++ b/src/services/bintask-manager.service.ts
@@ -390,7 +390,7 @@ export class BinTaskManagerService {
* @returns 库位组数组,如果数据无效则返回空数组
*/
private getBinLocationGroups(): BinLocationGroup[] {
- const rawData = this.editor.getBinLocationsList();
+ const rawData = this.getBinLocationsList();
if (!rawData) return [];
const binLocationGroups = Array.isArray(rawData)
@@ -454,13 +454,26 @@ export class BinTaskManagerService {
);
}
+ /**
+ * 获取库位任务配置数据
+ * @returns 库位任务配置列表
+ */
+ public getBinLocationsList(): unknown {
+ return this.editor.getBinLocationsList();
+ }
+
/**
* 更新原始场景数据
* @param binLocationGroups 库位组数据
*/
private updateOriginalSceneData(binLocationGroups: BinLocationGroup[]): void {
- // 通过EditorService的公共方法更新原始场景数据
- this.editor.updateOriginalSceneBinLocations(binLocationGroups);
+ // 通过反射访问和设置私有属性
+ let originalSceneData = (this.editor as any)['#originalSceneData'];
+ if (!originalSceneData) {
+ originalSceneData = {};
+ (this.editor as any)['#originalSceneData'] = originalSceneData;
+ }
+ (originalSceneData as Record).binLocationsList = binLocationGroups;
}
//#endregion
diff --git a/src/services/editor.service.ts b/src/services/editor.service.ts
index d8f6b18..fafa3c4 100644
--- a/src/services/editor.service.ts
+++ b/src/services/editor.service.ts
@@ -135,11 +135,11 @@ export class EditorService extends Meta2d {
private readonly binTaskManager: BinTaskManagerService;
/**
- * 获取库位任务配置数据
- * @returns 库位任务配置列表
+ * 获取BinTask管理服务实例
+ * @returns BinTask管理服务实例
*/
- public getBinLocationsList(): unknown {
- return (this.#originalSceneData as Record)?.binLocationsList;
+ public getBinTaskManager(): BinTaskManagerService {
+ return this.binTaskManager;
}
/**
@@ -182,22 +182,11 @@ export class EditorService extends Meta2d {
}
/**
- * 获取BinTask管理服务实例
- * @returns BinTask管理服务实例
+ * 获取库位任务配置数据
+ * @returns 库位任务配置列表
*/
- public getBinTaskManager(): BinTaskManagerService {
- return this.binTaskManager;
- }
-
- /**
- * 更新原始场景数据中的binLocationsList
- * @param binLocationGroups 库位组数据
- */
- public updateOriginalSceneBinLocations(binLocationGroups: any[]): void {
- if (!this.#originalSceneData) {
- this.#originalSceneData = {};
- }
- (this.#originalSceneData as Record).binLocationsList = binLocationGroups;
+ public getBinLocationsList(): unknown {
+ return (this.#originalSceneData as Record)?.binLocationsList;
}
/**