Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | import { useCallback } from "react"; import { useAppDispatch, useAppStore } from "store/hooks"; import { sceneSelectors } from "store/features/entities/entitiesSelectors"; import { useContextMenu } from "ui/hooks/use-context-menu"; import renderSceneContextMenu from "components/world/contextMenus/renderSceneContextMenu"; export const useSceneContextMenu = (sceneId: string, isEnabled: boolean) => { const dispatch = useAppDispatch(); const store = useAppStore(); const getContextMenu = useCallback( ({ closeMenu: onClose }: { closeMenu: () => void }) => { const state = store.getState(); const scene = sceneSelectors.selectById(state, sceneId); Iif (!scene) { return undefined; } const { x: hoverX, y: hoverY } = state.editor.hover; return renderSceneContextMenu({ dispatch, sceneId, additionalSceneIds: state.editor.sceneSelectionIds, startSceneId: state.project.present.settings.startSceneId, startDirection: state.project.present.settings.startDirection, hoverX, hoverY, colorsEnabled: state.project.present.settings.colorMode !== "mono", colorModeOverride: scene.colorModeOverride, runSceneSelectionOnly: state.project.present.settings.runSceneSelectionOnly, onClose, }); }, [dispatch, sceneId, store], ); const getContextMenuEnabled = useCallback(() => { return isEnabled; }, [isEnabled]); return useContextMenu({ getMenu: getContextMenu, getIsEnabled: getContextMenuEnabled, }); }; |