diff --git a/src/components/floorplan-editor/FloorplanEditorContext.tsx b/src/components/floorplan-editor/FloorplanEditorContext.tsx index 6c582ed..eb528cf 100644 --- a/src/components/floorplan-editor/FloorplanEditorContext.tsx +++ b/src/components/floorplan-editor/FloorplanEditorContext.tsx @@ -1,6 +1,6 @@ import { createContext, Dispatch, FC, ProviderProps, SetStateAction, useContext } from 'react'; -import { IFloorplanSettings } from './common/IFloorplanSettings'; -import { IVisualizationSettings } from './common/IVisualizationSettings'; +import { IFloorplanSettings } from '@nitrots/nitro-renderer'; +import { IVisualizationSettings } from '@nitrots/nitro-renderer'; interface IFloorplanEditorContext { diff --git a/src/components/floorplan-editor/FloorplanEditorView.scss b/src/components/floorplan-editor/FloorplanEditorView.scss new file mode 100644 index 0000000..3fe3041 --- /dev/null +++ b/src/components/floorplan-editor/FloorplanEditorView.scss @@ -0,0 +1,9 @@ +.nitro-floorplan-editor { + width: $nitro-floor-editor-width; + height: $nitro-floor-editor-height; +} + +.floorplan-import-export { + width: 500px; + height: 475px; +} diff --git a/src/components/floorplan-editor/FloorplanEditorView.tsx b/src/components/floorplan-editor/FloorplanEditorView.tsx index d4892eb..2ed3b02 100644 --- a/src/components/floorplan-editor/FloorplanEditorView.tsx +++ b/src/components/floorplan-editor/FloorplanEditorView.tsx @@ -4,10 +4,10 @@ import { LocalizeText, SendMessageComposer } from '../../api'; import { Button, ButtonGroup, Flex, NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../common'; import { useMessageEvent, useNitroEvent } from '../../hooks'; import { FloorplanEditorContextProvider } from './FloorplanEditorContext'; -import { FloorplanEditor } from './common/FloorplanEditor'; -import { IFloorplanSettings } from './common/IFloorplanSettings'; -import { IVisualizationSettings } from './common/IVisualizationSettings'; -import { convertNumbersForSaving, convertSettingToNumber } from './common/Utils'; +import { FloorplanEditor } from '@nitrots/nitro-renderer'; +import { IFloorplanSettings } from '@nitrots/nitro-renderer'; +import { IVisualizationSettings } from '@nitrots/nitro-renderer'; +import { convertNumbersForSaving, convertSettingToNumber } from '@nitrots/nitro-renderer'; import { FloorplanCanvasView } from './views/FloorplanCanvasView'; import { FloorplanImportExportView } from './views/FloorplanImportExportView'; import { FloorplanOptionsView } from './views/FloorplanOptionsView'; @@ -48,13 +48,13 @@ export const FloorplanEditorView: FC<{}> = props => const revertChanges = () => { setVisualizationSettings({ wallHeight: originalFloorplanSettings.wallHeight, thicknessWall: originalFloorplanSettings.thicknessWall, thicknessFloor: originalFloorplanSettings.thicknessFloor, entryPointDir: originalFloorplanSettings.entryPointDir }); - + FloorplanEditor.instance.doorLocation = { x: originalFloorplanSettings.entryPoint[0], y: originalFloorplanSettings.entryPoint[1] }; FloorplanEditor.instance.setTilemap(originalFloorplanSettings.tilemap, originalFloorplanSettings.reservedTiles); FloorplanEditor.instance.renderTiles(); - }; + } - useNitroEvent(RoomEngineEvent.DISPOSED, event => setIsVisible(false)); + useNitroEvent(RoomEngineEvent.DISPOSED, event => setIsVisible(false)); useMessageEvent(FloorHeightMapEvent, event => { @@ -157,4 +157,4 @@ export const FloorplanEditorView: FC<{}> = props => setImportExportVisible(false) } /> } ); -} \ No newline at end of file +} diff --git a/src/components/floorplan-editor/views/FloorplanCanvasView.tsx b/src/components/floorplan-editor/views/FloorplanCanvasView.tsx index 669f448..f13b873 100644 --- a/src/components/floorplan-editor/views/FloorplanCanvasView.tsx +++ b/src/components/floorplan-editor/views/FloorplanCanvasView.tsx @@ -1,11 +1,11 @@ import { GetOccupiedTilesMessageComposer, GetRoomEntryTileMessageComposer, RoomEntryTileMessageEvent, RoomOccupiedTilesMessageEvent } from '@nitrots/nitro-renderer'; import { FC, useEffect, useRef, useState } from 'react'; -import { FaArrowDown, FaArrowLeft, FaArrowRight, FaArrowUp, FaDotCircle, FaSearchPlus, FaSearchMinus, FaUndo } from 'react-icons/fa'; +import { FaArrowDown, FaArrowLeft, FaArrowRight, FaArrowUp } from 'react-icons/fa'; import { SendMessageComposer } from '../../../api'; import { Base, Button, Column, ColumnProps, Flex, Grid } from '../../../common'; import { useMessageEvent } from '../../../hooks'; import { useFloorplanEditorContext } from '../FloorplanEditorContext'; -import { FloorplanEditor } from '../common/FloorplanEditor'; +import { FloorplanEditor } from '@nitrots/nitro-renderer'; export const FloorplanCanvasView: FC = props => { @@ -58,7 +58,7 @@ export const FloorplanCanvasView: FC = props => return newValue; }); - FloorplanEditor.instance.doorLocation = ( parser.x, parser.y ); + FloorplanEditor.instance.doorLocation = { x: parser.x, y: parser.y }; setEntryTileReceived(true); }); @@ -94,7 +94,7 @@ export const FloorplanCanvasView: FC = props => { case 'pointerout': case 'pointerup': - FloorplanEditor.instance.onPointerRelease(); + FloorplanEditor.instance.onPointerRelease(event); break; case 'pointerdown': FloorplanEditor.instance.onPointerDown(event); @@ -105,20 +105,6 @@ export const FloorplanCanvasView: FC = props => } } - const handleZoomIn = () => { - FloorplanEditor.instance.zoomIn(); - }; - - const handleZoomOut = () => { - FloorplanEditor.instance.zoomOut(); - }; - - const handleResetZoom = () => { - FloorplanEditor.instance._zoomLevel = 1.0; // Reset to default zoom - FloorplanEditor.instance.adjustCanvasSize(); - FloorplanEditor.instance.renderTiles(); - }; - useEffect(() => { return () => @@ -183,22 +169,31 @@ export const FloorplanCanvasView: FC = props => return ( - - - - - + + + + + + + + + + { children } ); -} \ No newline at end of file +} diff --git a/src/components/floorplan-editor/views/FloorplanImportExportView.tsx b/src/components/floorplan-editor/views/FloorplanImportExportView.tsx index 918133d..8f6477a 100644 --- a/src/components/floorplan-editor/views/FloorplanImportExportView.tsx +++ b/src/components/floorplan-editor/views/FloorplanImportExportView.tsx @@ -1,10 +1,10 @@ import { UpdateFloorPropertiesMessageComposer } from '@nitrots/nitro-renderer'; import { FC, useEffect, useState } from 'react'; import { LocalizeText, SendMessageComposer } from '../../../api'; -import { Button, NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../common'; +import { Button, Flex, NitroCardContentView, NitroCardHeaderView, NitroCardView } from '../../../common'; +import { ConvertTileMapToString } from '@nitrots/nitro-renderer'; +import { convertNumbersForSaving } from '@nitrots/nitro-renderer'; import { useFloorplanEditorContext } from '../FloorplanEditorContext'; -import { ConvertTileMapToString } from '../common/ConvertMapToString'; -import { convertNumbersForSaving } from '../common/Utils'; interface FloorplanImportExportViewProps { @@ -28,7 +28,7 @@ export const FloorplanImportExportView: FC = pro convertNumbersForSaving(originalFloorplanSettings.thicknessFloor), originalFloorplanSettings.wallHeight - 1 )); - }; + } useEffect(() => { @@ -37,19 +37,19 @@ export const FloorplanImportExportView: FC = pro }, []); return ( - + -