nitro-v36-with-renderer-v36
/
src /
hooks /
rooms /
widgets /
furniture /
useFurnitureInternalLinkWidget.ts
useFurnitureInternalLinkWidget.ts 929 o
Télécharger le fichier
import { CreateLinkEvent, GetRoomEngine, RoomEngineTriggerWidgetEvent, RoomObjectVariable } from '@octane/renderer';
import { useOctaneEvent } from '../../../events';
const INTERNALLINK = 'internalLink';
const useFurnitureInternalLinkWidgetState = () => {
useOctaneEvent<RoomEngineTriggerWidgetEvent>(RoomEngineTriggerWidgetEvent.REQUEST_INTERNAL_LINK, (event) => {
const roomObject = GetRoomEngine().getRoomObject(event.roomId, event.objectId, event.category);
if (!roomObject) return;
const data = roomObject.model.getValue<any>(RoomObjectVariable.FURNITURE_DATA);
let link = data[INTERNALLINK];
if (!link || !link.length) link = roomObject.model.getValue<string>(RoomObjectVariable.FURNITURE_INTERNAL_LINK);
if (link && link.length) CreateLinkEvent(link);
});
return {};
};
export const useFurnitureInternalLinkWidget = useFurnitureInternalLinkWidgetState;
