MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / getSecretPropertyView

Method getSecretPropertyView

source/game/StarPlayer.cpp:2709–2726  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2707const String secretProprefix = "\0JsonProperty\0"s;
2708
2709Maybe<StringView> Player::getSecretPropertyView(String const& name) const {
2710 if (auto tag = m_effectsAnimator->globalTagPtr(secretProprefix + name)) {
2711 auto& view = tag->utf8();
2712 DataStreamExternalBuffer buffer(view.data(), view.size());
2713 try {
2714 uint8_t typeIndex = buffer.read<uint8_t>() - 1;
2715 if ((Json::Type)typeIndex == Json::Type::String) {
2716 size_t len = buffer.readVlqU();
2717 size_t pos = buffer.pos();
2718 if (pos + len == buffer.size())
2719 return StringView(buffer.ptr() + pos, len);
2720 }
2721 }
2722 catch (StarException const& e) {}
2723 }
2724
2725 return {};
2726}
2727
2728String const* Player::getSecretPropertyPtr(String const& name) const {
2729 return m_effectsAnimator->globalTagPtr(secretProprefix + name);

Callers 2

handleIncomingPacketsMethod · 0.80
sendSecretBroadcastMethod · 0.80

Calls 7

StringViewClass · 0.85
globalTagPtrMethod · 0.80
readVlqUMethod · 0.80
dataMethod · 0.45
sizeMethod · 0.45
posMethod · 0.45
ptrMethod · 0.45

Tested by

no test coverage detected