mirror of
https://github.com/RaidMax/IW4M-Admin.git
synced 2025-06-07 13:48:00 -05:00
Add GameLogEvent as catch all for unhandled log lines
This commit is contained in:
parent
4b6f3e8851
commit
dffcae8344
@ -218,12 +218,13 @@ namespace IW4MAdmin.Application.EventParsers
|
||||
return GenerateDefaultEvent(logLine, gameTime);
|
||||
}
|
||||
|
||||
private static GameEvent GenerateDefaultEvent(string logLine, long gameTime)
|
||||
private static GameLogEvent GenerateDefaultEvent(string logLine, long gameTime)
|
||||
{
|
||||
return new GameEvent
|
||||
return new GameLogEvent
|
||||
{
|
||||
Type = GameEvent.EventType.Unknown,
|
||||
Data = logLine,
|
||||
LogLine = logLine,
|
||||
Origin = Utilities.IW4MAdminClient(),
|
||||
Target = Utilities.IW4MAdminClient(),
|
||||
RequiredEntity = GameEvent.EventRequiredEntity.None,
|
||||
|
6
SharedLibraryCore/Events/Game/GameLogEvent.cs
Normal file
6
SharedLibraryCore/Events/Game/GameLogEvent.cs
Normal file
@ -0,0 +1,6 @@
|
||||
namespace SharedLibraryCore.Events.Game;
|
||||
|
||||
public class GameLogEvent : GameEventV2
|
||||
{
|
||||
public string LogLine { get; set; }
|
||||
}
|
@ -86,6 +86,11 @@ public interface IGameEventSubscriptions
|
||||
/// </summary>
|
||||
static event Func<GameScriptEvent, CancellationToken, Task> ScriptEventTriggered;
|
||||
|
||||
/// <summary>
|
||||
/// Raised when game log prints a line that is not handled by any other cases
|
||||
/// </summary>
|
||||
static event Func<GameLogEvent, CancellationToken, Task> GameLogEventTriggered;
|
||||
|
||||
static Task InvokeEventAsync(CoreEvent coreEvent, CancellationToken token)
|
||||
{
|
||||
return coreEvent switch
|
||||
@ -100,6 +105,7 @@ public interface IGameEventSubscriptions
|
||||
ClientCommandEvent clientCommandEvent => ClientEnteredCommand?.InvokeAsync(clientCommandEvent, token) ?? Task.CompletedTask,
|
||||
ClientMessageEvent clientMessageEvent => ClientMessaged?.InvokeAsync(clientMessageEvent, token) ?? Task.CompletedTask,
|
||||
GameScriptEvent gameScriptEvent => ScriptEventTriggered?.InvokeAsync(gameScriptEvent, token) ?? Task.CompletedTask,
|
||||
GameLogEvent gameLogEvent => GameLogEventTriggered?.InvokeAsync(gameLogEvent, token) ?? Task.CompletedTask,
|
||||
_ => Task.CompletedTask
|
||||
};
|
||||
}
|
||||
@ -116,5 +122,6 @@ public interface IGameEventSubscriptions
|
||||
ClientMessaged = null;
|
||||
ClientEnteredCommand = null;
|
||||
ScriptEventTriggered = null;
|
||||
GameLogEventTriggered = null;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user