diff --git a/Application/GameEventHandler.cs b/Application/GameEventHandler.cs deleted file mode 100644 index 5bd1a085..00000000 --- a/Application/GameEventHandler.cs +++ /dev/null @@ -1,46 +0,0 @@ -using IW4MAdmin.Application.Misc; -using SharedLibraryCore; -using SharedLibraryCore.Events; -using SharedLibraryCore.Interfaces; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.Extensions.Logging; -using ILogger = Microsoft.Extensions.Logging.ILogger; - -namespace IW4MAdmin.Application -{ - public class GameEventHandler : IEventHandler - { - private readonly EventLog _eventLog; - private readonly ILogger _logger; - private readonly IEventPublisher _eventPublisher; - private static readonly GameEvent.EventType[] overrideEvents = new[] - { - GameEvent.EventType.Connect, - GameEvent.EventType.Disconnect, - GameEvent.EventType.Quit, - GameEvent.EventType.Stop - }; - - public GameEventHandler(ILogger logger, IEventPublisher eventPublisher) - { - _eventLog = new EventLog(); - _logger = logger; - _eventPublisher = eventPublisher; - } - - public void HandleEvent(IManager manager, GameEvent gameEvent) - { - if (manager.IsRunning || overrideEvents.Contains(gameEvent.Type)) - { - EventApi.OnGameEvent(gameEvent); - _eventPublisher.Publish(gameEvent); - Task.Factory.StartNew(() => manager.ExecuteEvent(gameEvent)); - } - else - { - _logger.LogDebug("Skipping event as we're shutting down {eventId}", gameEvent.Id); - } - } - } -} diff --git a/Application/Main.cs b/Application/Main.cs index e0ba9fde..6cf779ea 100644 --- a/Application/Main.cs +++ b/Application/Main.cs @@ -462,7 +462,6 @@ namespace IW4MAdmin.Application .AddSingleton(typeof(IDataValueCache<,>), typeof(DataValueCache<,>)) .AddSingleton() .AddSingleton() - .AddSingleton() .AddSingleton(new GeoLocationService(Path.Join(".", "Resources", "GeoLite2-Country.mmdb"))) .AddSingleton() .AddTransient() diff --git a/Application/Misc/EventLog.cs b/Application/Misc/EventLog.cs deleted file mode 100644 index 6a8ef608..00000000 --- a/Application/Misc/EventLog.cs +++ /dev/null @@ -1,27 +0,0 @@ -using Newtonsoft.Json; -using SharedLibraryCore; -using System; -using System.Collections.Generic; -using System.Text; - -namespace IW4MAdmin.Application.Misc -{ - public class EventLog : Dictionary> - { - private static JsonSerializerSettings serializationSettings; - - public static JsonSerializerSettings BuildVcrSerializationSettings() - { - if (serializationSettings == null) - { - serializationSettings = new JsonSerializerSettings() { Formatting = Formatting.Indented, ReferenceLoopHandling = ReferenceLoopHandling.Ignore }; - serializationSettings.Converters.Add(new IPAddressConverter()); - serializationSettings.Converters.Add(new IPEndPointConverter()); - serializationSettings.Converters.Add(new GameEventConverter()); - serializationSettings.Converters.Add(new ClientEntityConverter()); - } - - return serializationSettings; - } - } -} diff --git a/Application/Misc/EventPublisher.cs b/Application/Misc/EventPublisher.cs deleted file mode 100644 index 8496517f..00000000 --- a/Application/Misc/EventPublisher.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using Microsoft.Extensions.Logging; -using SharedLibraryCore; -using SharedLibraryCore.Interfaces; -using ILogger = Microsoft.Extensions.Logging.ILogger; - -namespace IW4MAdmin.Application.Misc -{ - public class EventPublisher : IEventPublisher - { - public event EventHandler OnClientDisconnect; - public event EventHandler OnClientConnect; - public event EventHandler OnClientMetaUpdated; - - private readonly ILogger _logger; - - public EventPublisher(ILogger logger) - { - _logger = logger; - } - - public void Publish(GameEvent gameEvent) - { - _logger.LogDebug("Handling publishing event of type {EventType}", gameEvent.Type); - - try - { - if (gameEvent.Type == GameEvent.EventType.Connect) - { - OnClientConnect?.Invoke(this, gameEvent); - } - - if (gameEvent.Type == GameEvent.EventType.Disconnect && gameEvent.Origin.ClientId != 0) - { - OnClientDisconnect?.Invoke(this, gameEvent); - } - - if (gameEvent.Type == GameEvent.EventType.MetaUpdated) - { - OnClientMetaUpdated?.Invoke(this, gameEvent); - } - } - - catch (Exception ex) - { - _logger.LogError(ex, "Could not publish event of type {EventType}", gameEvent.Type); - } - } - } -} diff --git a/Application/SerialGameEventHandler.cs b/Application/SerialGameEventHandler.cs deleted file mode 100644 index 5eea9910..00000000 --- a/Application/SerialGameEventHandler.cs +++ /dev/null @@ -1,41 +0,0 @@ -using SharedLibraryCore; -using SharedLibraryCore.Events; -using SharedLibraryCore.Interfaces; -using System; -using System.Linq; - -namespace IW4MAdmin.Application -{ - class SerialGameEventHandler : IEventHandler - { - private delegate void GameEventAddedEventHandler(object sender, GameEventArgs args); - private event GameEventAddedEventHandler GameEventAdded; - - private static readonly GameEvent.EventType[] overrideEvents = new[] - { - GameEvent.EventType.Connect, - GameEvent.EventType.Disconnect, - GameEvent.EventType.Quit, - GameEvent.EventType.Stop - }; - - public SerialGameEventHandler() - { - GameEventAdded += GameEventHandler_GameEventAdded; - } - - private async void GameEventHandler_GameEventAdded(object sender, GameEventArgs args) - { - await (sender as IManager).ExecuteEvent(args.Event); - EventApi.OnGameEvent(args.Event); - } - - public void HandleEvent(IManager manager, GameEvent gameEvent) - { - if (manager.IsRunning || overrideEvents.Contains(gameEvent.Type)) - { - GameEventAdded?.Invoke(manager, new GameEventArgs(null, false, gameEvent)); - } - } - } -} diff --git a/SharedLibraryCore/Interfaces/IEventHandler.cs b/SharedLibraryCore/Interfaces/IEventHandler.cs deleted file mode 100644 index 930081eb..00000000 --- a/SharedLibraryCore/Interfaces/IEventHandler.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace SharedLibraryCore.Interfaces -{ - /// - /// handles games events (from log, manual events, etc) - /// - public interface IEventHandler - { - /// - /// Add a game event event to the queue to be processed - /// - /// application manager instance - /// game event - void HandleEvent(IManager manager, GameEvent gameEvent); - } -} \ No newline at end of file diff --git a/SharedLibraryCore/Interfaces/IEventPublisher.cs b/SharedLibraryCore/Interfaces/IEventPublisher.cs deleted file mode 100644 index 83b04408..00000000 --- a/SharedLibraryCore/Interfaces/IEventPublisher.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; - -namespace SharedLibraryCore.Interfaces -{ - public interface IEventPublisher - { - event EventHandler OnClientDisconnect; - event EventHandler OnClientConnect; - - void Publish(GameEvent gameEvent); - } -} \ No newline at end of file