mirror of
https://github.com/RaidMax/IW4M-Admin.git
synced 2025-06-08 06:08:20 -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);
|
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,
|
Type = GameEvent.EventType.Unknown,
|
||||||
Data = logLine,
|
Data = logLine,
|
||||||
|
LogLine = logLine,
|
||||||
Origin = Utilities.IW4MAdminClient(),
|
Origin = Utilities.IW4MAdminClient(),
|
||||||
Target = Utilities.IW4MAdminClient(),
|
Target = Utilities.IW4MAdminClient(),
|
||||||
RequiredEntity = GameEvent.EventRequiredEntity.None,
|
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>
|
/// </summary>
|
||||||
static event Func<GameScriptEvent, CancellationToken, Task> ScriptEventTriggered;
|
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)
|
static Task InvokeEventAsync(CoreEvent coreEvent, CancellationToken token)
|
||||||
{
|
{
|
||||||
return coreEvent switch
|
return coreEvent switch
|
||||||
@ -100,6 +105,7 @@ public interface IGameEventSubscriptions
|
|||||||
ClientCommandEvent clientCommandEvent => ClientEnteredCommand?.InvokeAsync(clientCommandEvent, token) ?? Task.CompletedTask,
|
ClientCommandEvent clientCommandEvent => ClientEnteredCommand?.InvokeAsync(clientCommandEvent, token) ?? Task.CompletedTask,
|
||||||
ClientMessageEvent clientMessageEvent => ClientMessaged?.InvokeAsync(clientMessageEvent, token) ?? Task.CompletedTask,
|
ClientMessageEvent clientMessageEvent => ClientMessaged?.InvokeAsync(clientMessageEvent, token) ?? Task.CompletedTask,
|
||||||
GameScriptEvent gameScriptEvent => ScriptEventTriggered?.InvokeAsync(gameScriptEvent, token) ?? Task.CompletedTask,
|
GameScriptEvent gameScriptEvent => ScriptEventTriggered?.InvokeAsync(gameScriptEvent, token) ?? Task.CompletedTask,
|
||||||
|
GameLogEvent gameLogEvent => GameLogEventTriggered?.InvokeAsync(gameLogEvent, token) ?? Task.CompletedTask,
|
||||||
_ => Task.CompletedTask
|
_ => Task.CompletedTask
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -116,5 +122,6 @@ public interface IGameEventSubscriptions
|
|||||||
ClientMessaged = null;
|
ClientMessaged = null;
|
||||||
ClientEnteredCommand = null;
|
ClientEnteredCommand = null;
|
||||||
ScriptEventTriggered = null;
|
ScriptEventTriggered = null;
|
||||||
|
GameLogEventTriggered = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user