Add radio jammer (#14369)

This commit is contained in:
Slava0135
2023-04-14 22:50:19 +03:00
committed by GitHub
parent 779100484f
commit 7886d27dda
12 changed files with 214 additions and 42 deletions

View File

@@ -78,6 +78,10 @@ public sealed class RadioSystem : EntitySystem
var chatMsg = new MsgChatMessage { Message = chat };
var ev = new RadioReceiveEvent(message, messageSource, channel, chatMsg);
var sendAttemptEv = new RadioSendAttemptEvent(channel, radioSource);
RaiseLocalEvent(ref sendAttemptEv);
var canSend = !sendAttemptEv.Cancelled;
var sourceMapId = Transform(radioSource).MapID;
var hasActiveServer = HasActiveServer(sourceMapId, channel.ID);
var hasMicro = HasComp<RadioMicrophoneComponent>(radioSource);
@@ -85,7 +89,7 @@ public sealed class RadioSystem : EntitySystem
var speakerQuery = GetEntityQuery<RadioSpeakerComponent>();
var radioQuery = AllEntityQuery<ActiveRadioComponent, TransformComponent>();
var sentAtLeastOnce = false;
while (radioQuery.MoveNext(out var receiver, out var radio, out var transform))
while (canSend && radioQuery.MoveNext(out var receiver, out var radio, out var transform))
{
if (!radio.Channels.Contains(channel.ID))
continue;