File tree Expand file tree Collapse file tree 2 files changed +25
-10
lines changed Expand file tree Collapse file tree 2 files changed +25
-10
lines changed Original file line number Diff line number Diff line change @@ -380,23 +380,38 @@ private async void FrameTimerTick(object state)
380
380
{
381
381
try
382
382
{
383
+ if ( _shockerStates . IsEmpty ) return ;
384
+
383
385
if ( _clientWebSocket is not { State : WebSocketState . Open } )
384
386
{
385
387
_logger . LogWarning ( "Frame timer ticked, but websocket is not open" ) ;
386
388
_managedFrameTimer . Change ( Timeout . InfiniteTimeSpan , Timeout . InfiniteTimeSpan ) ;
387
389
return ;
388
390
}
389
391
390
- await QueueMessage ( new BaseRequest < LiveRequestType > ( )
392
+ IList < ClientLiveFrame > ? data = null ;
393
+
394
+ var cur = DateTimeOffset . UtcNow ;
395
+
396
+ foreach ( var pair in _shockerStates )
397
+ {
398
+ if ( pair . Value . ActiveUntil < cur ) continue ;
399
+ data ??= new List < ClientLiveFrame > ( ) ;
400
+
401
+ data . Add ( new ClientLiveFrame
402
+ {
403
+ Shocker = pair . Key ,
404
+ Type = pair . Value . LastType ,
405
+ Intensity = pair . Value . LastIntensity
406
+ } ) ;
407
+ }
408
+
409
+ if ( data == null ) return ;
410
+
411
+ await QueueMessage ( new BaseRequest < LiveRequestType >
391
412
{
392
413
RequestType = LiveRequestType . BulkFrame ,
393
- Data = _shockerStates . Where ( x => x . Value . ActiveUntil > DateTimeOffset . UtcNow )
394
- . Select ( x => new ClientLiveFrame
395
- {
396
- Shocker = x . Key ,
397
- Type = x . Value . LastType ,
398
- Intensity = x . Value . LastIntensity
399
- } )
414
+ Data = data
400
415
} ) ;
401
416
}
402
417
catch ( Exception e )
Original file line number Diff line number Diff line change 8
8
<AssemblyName >OpenShock.SDK.CSharp.Live</AssemblyName >
9
9
<RootNamespace >OpenShock.SDK.CSharp.Live</RootNamespace >
10
10
<Company >OpenShock</Company >
11
- <AssemblyVersion >0.0.26 </AssemblyVersion >
12
- <Version >0.0.26 </Version >
11
+ <AssemblyVersion >0.0.27 </AssemblyVersion >
12
+ <Version >0.0.27 </Version >
13
13
<Title >SDK.DotNet.Live</Title >
14
14
<Authors >OpenShock</Authors >
15
15
<Description >Extension for OpenShock.SDK.CSharp</Description >
You can’t perform that action at this time.
0 commit comments