diff --git a/openVulkanoCpp/AR/ArSession.hpp b/openVulkanoCpp/AR/ArSession.hpp index 198a613..84a9161 100644 --- a/openVulkanoCpp/AR/ArSession.hpp +++ b/openVulkanoCpp/AR/ArSession.hpp @@ -210,6 +210,7 @@ namespace OpenVulkano::AR Event OnNewCameraViewMatrix; Event OnSessionFailed; Event<> OnAnchorsUpdated; + Event<> OnStopped; protected: bool running = false, paused = false, shouldAttemptRelocalization = false; diff --git a/openVulkanoCpp/AR/Provider/ArKit/ArSessionArKitInternal.mm b/openVulkanoCpp/AR/Provider/ArKit/ArSessionArKitInternal.mm index f2a8d8b..e75d73b 100644 --- a/openVulkanoCpp/AR/Provider/ArKit/ArSessionArKitInternal.mm +++ b/openVulkanoCpp/AR/Provider/ArKit/ArSessionArKitInternal.mm @@ -102,6 +102,7 @@ namespace OpenVulkano::AR::ArKit void ArSessionArKitInternal::Stop() { + OnStopped(); [m_arSession pause]; #if (__cplusplus >= 202002L) m_frame = nullptr; diff --git a/openVulkanoCpp/AR/Provider/Network/ArSessionStream.cpp b/openVulkanoCpp/AR/Provider/Network/ArSessionStream.cpp index 24adfdc..951fe3e 100644 --- a/openVulkanoCpp/AR/Provider/Network/ArSessionStream.cpp +++ b/openVulkanoCpp/AR/Provider/Network/ArSessionStream.cpp @@ -21,7 +21,7 @@ namespace OpenVulkano::AR::Network void ArSessionStream::Stop() { - + OnStopped(); } void ArSessionStream::Pause() diff --git a/openVulkanoCpp/AR/Provider/Playback/ArSessionPlayback.cpp b/openVulkanoCpp/AR/Provider/Playback/ArSessionPlayback.cpp index bfe6126..2e11eb2 100644 --- a/openVulkanoCpp/AR/Provider/Playback/ArSessionPlayback.cpp +++ b/openVulkanoCpp/AR/Provider/Playback/ArSessionPlayback.cpp @@ -35,6 +35,7 @@ namespace OpenVulkano::AR::Playback void ArSessionPlayback::Stop() { running = false; + OnStopped(); } void ArSessionPlayback::Pause()