feat: 添加场景头部信息字段,优化场景数据保存逻辑
This commit is contained in:
parent
88f258a985
commit
8831b13bdf
@ -25,6 +25,10 @@ export interface StandardScene {
|
||||
routes?: Array<StandardSceneRoute>; // 标准线路信息
|
||||
areas?: Array<StandardSceneArea>; // 标准区域信息
|
||||
blocks?: Array<[number, number]>; // 障碍点集合
|
||||
header?: {
|
||||
width: number;
|
||||
height: number;
|
||||
}; // 场景头部信息
|
||||
}
|
||||
export interface StandardScenePoint {
|
||||
id: string;
|
||||
|
@ -52,7 +52,11 @@ export class EditorService extends Meta2d {
|
||||
scene.robotGroups = [detail.group];
|
||||
scene.robots = detail.robots;
|
||||
}
|
||||
const { robotGroups, robots, points, routes, areas } = scene;
|
||||
const { robotGroups, robots, points, routes, areas, header } = scene;
|
||||
|
||||
// 保存header字段
|
||||
this.#originalSceneData = { header };
|
||||
|
||||
this.open();
|
||||
this.setState(editable);
|
||||
this.#loadRobots(robotGroups, robots);
|
||||
@ -74,7 +78,9 @@ export class EditorService extends Meta2d {
|
||||
routes: this.routes.value.map((v) => this.#mapSceneRoute(v)).filter((v) => !isNil(v)),
|
||||
areas: this.areas.value.map((v) => this.#mapSceneArea(v)).filter((v) => !isNil(v)),
|
||||
blocks: [],
|
||||
header: this.#originalSceneData?.header, // 保留header字段
|
||||
};
|
||||
|
||||
return JSON.stringify(scene);
|
||||
}
|
||||
|
||||
@ -365,6 +371,9 @@ export class EditorService extends Meta2d {
|
||||
}
|
||||
//#endregion
|
||||
|
||||
/** 保存header字段 */
|
||||
#originalSceneData?: { header?: { width: number; height: number } };
|
||||
|
||||
/** 画布变化事件流,用于触发响应式数据更新 */
|
||||
readonly #change$$ = new Subject<boolean>();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user