feat: Add selectedWallAsset and selectedFloorAsset state management; implement corresponding setters in useBuilderStore
This commit is contained in:
@@ -9,6 +9,12 @@ interface BuilderState {
|
||||
snappedPosition: [number, number, number] | null;
|
||||
hoveredLine: [Point, Point] | null;
|
||||
|
||||
// Wall Asset
|
||||
selectedWallAsset: Object3D | null;
|
||||
|
||||
// Floor Asset
|
||||
selectedFloorAsset: Object3D | null;
|
||||
|
||||
// Wall Settings
|
||||
selectedWall: Object3D | null;
|
||||
wallThickness: number;
|
||||
@@ -51,6 +57,12 @@ interface BuilderState {
|
||||
setSnappedPosition: (position: [number, number, number] | null) => void;
|
||||
setHoveredLine: (line: [Point, Point] | null) => void;
|
||||
|
||||
// Setters - Wall Asset
|
||||
setSelectedWallAsset: (asset: Object3D | null) => void;
|
||||
|
||||
// Setters - Floor Asset
|
||||
setSelectedFloorAsset: (asset: Object3D | null) => void;
|
||||
|
||||
// Setters - Wall
|
||||
setSelectedWall: (wall: Object3D | null) => void;
|
||||
setWallThickness: (thickness: number) => void;
|
||||
@@ -100,6 +112,10 @@ export const useBuilderStore = create<BuilderState>()(
|
||||
snappedPosition: null,
|
||||
hoveredLine: null,
|
||||
|
||||
selectedWallAsset: null,
|
||||
|
||||
selectedFloorAsset: null,
|
||||
|
||||
selectedWall: null,
|
||||
wallThickness: 0.5,
|
||||
wallHeight: 7,
|
||||
@@ -156,6 +172,22 @@ export const useBuilderStore = create<BuilderState>()(
|
||||
})
|
||||
},
|
||||
|
||||
// === Setters: Wall Asset ===
|
||||
|
||||
setSelectedWallAsset(asset: Object3D | null) {
|
||||
set((state) => {
|
||||
state.selectedWallAsset = asset;
|
||||
});
|
||||
},
|
||||
|
||||
// === Setters: Floor Asset ===
|
||||
|
||||
setSelectedFloorAsset(asset: Object3D | null) {
|
||||
set((state) => {
|
||||
state.selectedFloorAsset = asset;
|
||||
});
|
||||
},
|
||||
|
||||
// === Setters: Wall ===
|
||||
|
||||
setSelectedWall: (wall: Object3D | null) => {
|
||||
|
||||
Reference in New Issue
Block a user