diff --git a/Source/Engine/Networking/NetworkReplicator.cpp b/Source/Engine/Networking/NetworkReplicator.cpp index 2bb0d22b6..74a4f14e5 100644 --- a/Source/Engine/Networking/NetworkReplicator.cpp +++ b/Source/Engine/Networking/NetworkReplicator.cpp @@ -1302,6 +1302,11 @@ bool NetworkReplicator::HasObject(const ScriptingObject* obj) return false; } +void NetworkReplicator::MapObjectId(Guid& objectId) +{ + IdsRemappingTable.TryGet(objectId, objectId); +} + ScriptingObject* NetworkReplicator::ResolveForeignObject(Guid objectId) { if (const auto& object = ResolveObject(objectId)) diff --git a/Source/Engine/Networking/NetworkReplicator.h b/Source/Engine/Networking/NetworkReplicator.h index 202d2fc92..0b9da2c28 100644 --- a/Source/Engine/Networking/NetworkReplicator.h +++ b/Source/Engine/Networking/NetworkReplicator.h @@ -116,6 +116,12 @@ public: /// The network object. /// True if object exists in networking, otherwise false. API_FUNCTION() static bool HasObject(const ScriptingObject* obj); + + /// + /// Maps object ID into server or client ID (depending on the source ID). Leaves source value unchanged if that specific ID is unused. + /// + /// The network object identifier to map. Contains result ID once the method completes. + API_FUNCTION() static void MapObjectId(API_PARAM(Ref) Guid& objectId); /// /// Resolves foreign Guid into a local ScriptingObject