MCPcopy Create free account
hub / github.com/deathkiller/jazz2-native / SendMessageToAll

Method SendMessageToAll

Sources/Jazz2/Multiplayer/MpLevelHandler.cpp:2804–2826  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2802 }
2803
2804 void MpLevelHandler::SendMessageToAll(StringView message, bool asChatFromServer)
2805 {
2806 String prefixedMessage = message;
2807
2808 if (asChatFromServer) {
2809 prefixedMessage = "\f[c:#907060]Server:\f[/c] "_s + prefixedMessage;
2810 }
2811
2812 MemoryStream packetOut(9 + message.size());
2813 packetOut.WriteVariableUint32(0); // Local player ID
2814 packetOut.WriteValue<std::uint8_t>((std::uint8_t)UI::MessageLevel::Chat);
2815 packetOut.WriteVariableUint32((std::uint32_t)prefixedMessage.size());
2816 packetOut.Write(prefixedMessage.data(), (std::uint32_t)prefixedMessage.size());
2817
2818 _networkManager->SendTo([this](const Peer& peer) {
2819 auto peerDesc = _networkManager->GetPeerDescriptor(peer);
2820 return (peerDesc && peerDesc->IsAuthenticated);
2821 }, NetworkChannel::Main, (std::uint8_t)ServerPacketType::ChatMessage, packetOut);
2822
2823 InvokeAsync([this, message = std::move(prefixedMessage)]() mutable {
2824 _console->WriteLine(UI::MessageLevel::Info, message);
2825 });
2826 }
2827
2828 bool MpLevelHandler::OnPeerDisconnected(const Peer& peer)
2829 {

Callers 1

StartProcessingStdinMethod · 0.80

Calls 7

WriteVariableUint32Method · 0.80
SendToMethod · 0.80
WriteLineMethod · 0.80
sizeMethod · 0.45
WriteMethod · 0.45
dataMethod · 0.45
GetPeerDescriptorMethod · 0.45

Tested by

no test coverage detected