From 3b8db8b32fbe4d1269dc5336bb4b654ceb7a8088 Mon Sep 17 00:00:00 2001 From: Blue Date: Wed, 26 Jul 2023 10:22:29 +0200 Subject: [PATCH] server: add synced scene events --- server/src/events/Main.cpp | 48 ++++++++++++++++++++++++++++++++++++++ shared/deps/cpp-sdk | 2 +- 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/server/src/events/Main.cpp b/server/src/events/Main.cpp index b90367e9..fe3c1700 100644 --- a/server/src/events/Main.cpp +++ b/server/src/events/Main.cpp @@ -168,3 +168,51 @@ V8Helpers::LocalEventHandler metaChange(EventType::META_CHANGE, }); V8Helpers::LocalEventHandler serverStarted(EventType::SERVER_STARTED, "serverStarted", [](V8ResourceImpl* resource, const CEvent* e, std::vector>& args) {}); + +V8_LOCAL_EVENT_HANDLER requestSyncedScene(EventType::REQUEST_SYNCED_SCENE, + "requestSyncedScene", + [](V8ResourceImpl* resource, const alt::CEvent* e, std::vector>& args) + { + auto ev = static_cast(e); + v8::Isolate* isolate = resource->GetIsolate(); + + args.push_back(resource->GetBaseObjectOrNull(ev->GetSource())); + args.push_back(V8Helpers::JSValue(ev->GetSceneID())); + }); + +V8_LOCAL_EVENT_HANDLER startSyncedScene(EventType::START_SYNCED_SCENE, + "startSyncedScene", + [](V8ResourceImpl* resource, const alt::CEvent* e, std::vector>& args) + { + auto ev = static_cast(e); + v8::Isolate* isolate = resource->GetIsolate(); + + args.push_back(resource->GetBaseObjectOrNull(ev->GetSource())); + args.push_back(V8Helpers::JSValue(ev->GetSceneID())); + args.push_back(resource->CreateVector3(ev->GetStartPosition())); + args.push_back(resource->CreateVector3(ev->GetStartRotation())); + args.push_back(V8Helpers::JSValue(ev->GetAnimDictHash())); + }); + +V8_LOCAL_EVENT_HANDLER stopSyncedScene(EventType::STOP_SYNCED_SCENE, + "stopSyncedScene", + [](V8ResourceImpl* resource, const alt::CEvent* e, std::vector>& args) + { + auto ev = static_cast(e); + v8::Isolate* isolate = resource->GetIsolate(); + + args.push_back(resource->GetBaseObjectOrNull(ev->GetSource())); + args.push_back(V8Helpers::JSValue(ev->GetSceneID())); + }); + +V8_LOCAL_EVENT_HANDLER updateSyncedScene(EventType::UPDATE_SYNCED_SCENE, + "updateSyncedScene", + [](V8ResourceImpl* resource, const alt::CEvent* e, std::vector>& args) + { + auto ev = static_cast(e); + v8::Isolate* isolate = resource->GetIsolate(); + + args.push_back(resource->GetBaseObjectOrNull(ev->GetSource())); + args.push_back(V8Helpers::JSValue(ev->GetStartRate())); + args.push_back(V8Helpers::JSValue(ev->GetSceneID())); + }); diff --git a/shared/deps/cpp-sdk b/shared/deps/cpp-sdk index 99120b11..d4d7c865 160000 --- a/shared/deps/cpp-sdk +++ b/shared/deps/cpp-sdk @@ -1 +1 @@ -Subproject commit 99120b11b96c14de57124d11a389e4aeb5ca9219 +Subproject commit d4d7c865a62f1184a5e29cb5d4fd8f29526391d5