public UnrealLoadsComponent(LiveSplitState state, ITimerModel timer, IGameMemory gameMemory, IUnrealLoadsSettings settings) { bool debug = false; #if DEBUG debug = true; #endif Trace.WriteLine("[NoLoads] Using LiveSplit.UnrealLoads component version " + Assembly.GetExecutingAssembly().GetName().Version + " " + ((debug) ? "Debug" : "Release") + " build"); _state = state; _timer = timer; _splitHistory = new HashSet <string>(StringComparer.OrdinalIgnoreCase); Settings = settings; _state.OnStart += _state_OnStart; _gameMemory = gameMemory; _gameMemory.OnReset += gameMemory_OnReset; _gameMemory.OnStart += gameMemory_OnStart; _gameMemory.OnSplit += _gameMemory_OnSplit; _gameMemory.OnLoadStarted += gameMemory_OnLoadStarted; _gameMemory.OnLoadEnded += gameMemory_OnLoadEnded; _gameMemory.OnMapChange += _gameMemory_OnMapChange; _gameMemory.StartMonitoring(); }