#pragma once #include "stdafx.h" #include "IMessageManager.h" #include "INotificationListener.h" #include #include "../Utilities/SimpleLock.h" class MessageManager { private: static IMessageManager* _messageManager; static vector _notificationListeners; static std::unordered_map _enResources; static std::unordered_map _frResources; static std::unordered_map _jaResources; static std::unordered_map _ruResources; static std::unordered_map _esResources; static std::unordered_map _ukResources; static SimpleLock _logLock; static std::list _log; public: static string Localize(string key); static void RegisterMessageManager(IMessageManager* messageManager); static void DisplayMessage(string title, string message, string param1 = "", string param2 = ""); static void Log(string message = ""); static string GetLog(); static void RegisterNotificationListener(INotificationListener* notificationListener); static void UnregisterNotificationListener(INotificationListener* notificationListener); static void SendNotification(ConsoleNotificationType type, void* parameter = nullptr); };