From 72228c363fd50ac8c762b9f401e40b1491891456 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Mon, 13 Apr 2026 23:51:25 +0200 Subject: [PATCH] Add NPC presence mode and time window settings in App.tsx --- src/app/App.tsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/app/App.tsx b/src/app/App.tsx index f87141f0..fa0bf2f1 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -2538,6 +2538,9 @@ export function App({ store, initialStatusMessage }: AppProps) { setTriggerVolumeSizeDraft(createVec3Draft(DEFAULT_TRIGGER_VOLUME_SIZE)); setSceneEntryYawDraft(String(DEFAULT_SCENE_ENTRY_YAW_DEGREES)); setNpcActorIdDraft(""); + setNpcPresenceModeDraft(createNpcAlwaysPresence().mode); + setNpcPresenceStartHourDraft(String(DEFAULT_NPC_TIME_WINDOW_START_HOUR)); + setNpcPresenceEndHourDraft(String(DEFAULT_NPC_TIME_WINDOW_END_HOUR)); setNpcYawDraft(String(DEFAULT_NPC_YAW_DEGREES)); setNpcColliderModeDraft(createNpcColliderSettings().mode); setNpcEyeHeightDraft(String(createNpcColliderSettings().eyeHeight)); @@ -2610,6 +2613,16 @@ export function App({ store, initialStatusMessage }: AppProps) { break; case "npc": setNpcActorIdDraft(selectedEntity.actorId); + setNpcPresenceModeDraft(selectedEntity.presence.mode); + if (selectedEntity.presence.mode === "timeWindow") { + setNpcPresenceStartHourDraft(String(selectedEntity.presence.startHour)); + setNpcPresenceEndHourDraft(String(selectedEntity.presence.endHour)); + } else { + setNpcPresenceStartHourDraft( + String(DEFAULT_NPC_TIME_WINDOW_START_HOUR) + ); + setNpcPresenceEndHourDraft(String(DEFAULT_NPC_TIME_WINDOW_END_HOUR)); + } setNpcYawDraft(String(selectedEntity.yawDegrees)); setNpcColliderModeDraft(selectedEntity.collider.mode); setNpcEyeHeightDraft(String(selectedEntity.collider.eyeHeight)); @@ -4830,6 +4843,7 @@ export function App({ store, initialStatusMessage }: AppProps) { return buildRuntimeSceneFromDocument(sceneDocument, { loadedModelAssets, + runtimeClock: runtimeGlobalState.clock, sceneEntryId: options.sceneEntryId }); };