File tree Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Expand file tree Collapse file tree 2 files changed +19
-0
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,12 @@ public static partial class AltAsync
1616
1717 internal static AltVAsync AltVAsync ;
1818
19+ public static event CheckpointAsyncDelegate OnCheckpoint
20+ {
21+ add => Core . CheckpointAsyncEventHandler . Add ( value ) ;
22+ remove => Core . CheckpointAsyncEventHandler . Remove ( value ) ;
23+ }
24+
1925 public static event PlayerConnectAsyncDelegate OnPlayerConnect
2026 {
2127 add => Core . PlayerConnectAsyncEventHandler . Add ( value ) ;
Original file line number Diff line number Diff line change @@ -35,6 +35,9 @@ public override IEnumerable<string> GetRegisteredServerEvents()
3535 return base . GetRegisteredServerEvents ( ) . Concat ( asyncEventBusServer . Keys ) ;
3636 }
3737
38+ internal readonly AsyncEventHandler < CheckpointAsyncDelegate > CheckpointAsyncEventHandler =
39+ new ( EventType . CHECKPOINT_EVENT ) ;
40+
3841 internal readonly AsyncEventHandler < PlayerConnectAsyncDelegate > PlayerConnectAsyncEventHandler =
3942 new ( EventType . PLAYER_CONNECT ) ;
4043
@@ -176,6 +179,16 @@ public override bool IsMainThread()
176179 return AltAsync . AltVAsync . TickThread == Thread . CurrentThread || base . IsMainThread ( ) ;
177180 }
178181
182+ public override void OnCheckPointEvent ( ICheckpoint checkpoint , IWorldObject entity , bool state )
183+ {
184+ base . OnCheckPointEvent ( checkpoint , entity , state ) ;
185+ if ( ! CheckpointAsyncEventHandler . HasEvents ( ) ) return ;
186+ Task . Run ( async ( ) =>
187+ {
188+ await CheckpointAsyncEventHandler . CallAsync ( @delegate => @delegate ( checkpoint , entity , state ) ) ;
189+ } ) ;
190+ }
191+
179192 public override void OnPlayerDeathEvent ( IPlayer player , IEntity killer , uint weapon )
180193 {
181194 base . OnPlayerDeathEvent ( player , killer , weapon ) ;
You can’t perform that action at this time.
0 commit comments