diff --git a/gamelink_single.hpp b/gamelink_single.hpp index a16283f..ebf7f79 100644 --- a/gamelink_single.hpp +++ b/gamelink_single.hpp @@ -30033,6 +30033,20 @@ namespace gateway void SetGameVector4(const string& label, const float* ptr); void SetGameVector4WithComponents(const string& label, float x, float y, float z, float w); + // Low level set game access. Sets a serializable array to the json path. + template + void UpdateGameStatePathWithArray(const string& path, const T* begin, const T* end) + { + Base.UpdateStateWithArray(gamelink::StateTarget::Channel, path, begin, end); + } + + // Low level set game access. Sets an serializable object to the json path. + template + void UpdateGameStatePathWithObject(const string& path, const T& obj) + { + Base.UpdateStateWithObject(gamelink::StateTarget::Channel, path, obj); + } + RequestID SetGameMetadata(GameMetadata Meta); string GetProjectionSandboxURL(const string& projection, int major, int minor, int patch) const; diff --git a/include/gateway.h b/include/gateway.h index 89b3a28..47d2d04 100644 --- a/include/gateway.h +++ b/include/gateway.h @@ -264,6 +264,20 @@ namespace gateway void SetGameVector4(const string& label, const float* ptr); void SetGameVector4WithComponents(const string& label, float x, float y, float z, float w); + // Low level set game access. Sets a serializable array to the json path. + template + void UpdateGameStatePathWithArray(const string& path, const T* begin, const T* end) + { + Base.UpdateStateWithArray(gamelink::StateTarget::Channel, gamelink::Operation::Add, path, begin, end); + } + + // Low level set game access. Sets an serializable object to the json path. + template + void UpdateGameStatePathWithObject(const string& path, const T& obj) + { + Base.UpdateStateWithObject(gamelink::StateTarget::Channel, gamelink::Operation::Add, path, obj); + } + RequestID SetGameMetadata(GameMetadata Meta); string GetProjectionSandboxURL(const string& projection, int major, int minor, int patch) const;