| 2707 | const String secretProprefix = "\0JsonProperty\0"s; |
| 2708 | |
| 2709 | Maybe<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 | |
| 2728 | String const* Player::getSecretPropertyPtr(String const& name) const { |
| 2729 | return m_effectsAnimator->globalTagPtr(secretProprefix + name); |
no test coverage detected