public ControlsProcessor(Settings settings, ControllerEmulation controllerEmulation, Aiming aiming, ExtendedView extendedView, RadialMenu radialMenu, SettingsMenu settingsMenu, GameState gameState, DebugOutput debugOutput) { _settings = settings; _controllerEmulation = controllerEmulation; _aiming = aiming; _extendedView = extendedView; _radialMenu = radialMenu; _settingsMenu = settingsMenu; _gameState = gameState; _debugOutput = debugOutput; _controllerEmulation.OnModifyState += OnModifyControllerState; }
public Gta5EyeTracking() { Debug.Log("Begin Initialize"); //Disposing _shutDownRequestedEvent = new ManualResetEvent(false); //Settings _settingsStorage = new SettingsStorage(); _settings = _settingsStorage.LoadSettings(); //Statistics var version = Assembly.GetExecutingAssembly().GetName().Version; var versionString = version.Major + "." + version.Minor + "." + version.Build; _googleAnalyticsApi = new GoogleAnalyticsApi("UA-68420530-1", _settings.UserGuid, "GTA V Eye Tracking Mod", "gta5eyetracking", versionString); //Gaze _tobiiTracker = new TobiiInteractionEngineTracker(); //Menu _menuPool = new MenuPool(); _settingsMenu = new SettingsMenu(_menuPool, _settings); _introScreen = new IntroScreen(_menuPool, _settings); //Debug _debugGazeVisualization = new DefaultCrosshair(Color.FromArgb(220, 255, 0, 0), Color.FromArgb(220, 0, 255, 255)); _debugOutput = new DebugOutput(); //Hids _mouseEmulation = new MouseEmulation(); _controllerEmulation = new ControllerEmulation(); //Features _gameState = new GameState(_controllerEmulation, _menuPool); _animationHelper = new AnimationHelper(); _aiming = new Aiming(_settings, _animationHelper, _gameState); _extendedView = new ExtendedView(_settings, _gameState, _tobiiTracker, _aiming, _debugOutput); _radialMenu = new RadialMenu(_controllerEmulation, _tobiiTracker); //Window _foregroundWindowWatcher = new ForegroundWindowWatcher(); _foregroundWindowWatcher.ForegroundWindowChanged += ForegroundWindowWatcherOnForegroundWindowChanged; _isWindowForeground = _foregroundWindowWatcher.IsWindowForeground(); //General _gazeProjector = new GazeProjector(_settings); _controlsProcessor = new ControlsProcessor(_settings,_controllerEmulation,_aiming,_extendedView,_radialMenu,_settingsMenu, _gameState, _debugOutput); KeyDown += OnKeyDown; Tick += OnTick; Aborted += OnAborted; Debug.Log("End Initialize"); }
private void ShutDown() { _shutDownRequestFlag = true; KeyDown -= OnKeyDown; Tick -= OnTick; _shutDownRequestedEvent.WaitOne(100); Debug.Log("Begin ShutDown"); _settingsStorage.SaveSettings(_settings); //General RecordGameSessionEnded(); if (_controlsProcessor != null) { _controlsProcessor.Dispose(); _controlsProcessor = null; } //Window if (_foregroundWindowWatcher != null) { _foregroundWindowWatcher.Dispose(); _foregroundWindowWatcher = null; } //Menu if (_settingsMenu != null) { _settingsMenu = null; } //Features if (_aiming != null) { _aiming.Dispose(); _aiming = null; } if (_extendedView != null) { _extendedView.Dispose(); _extendedView = null; } //Hids if (_controllerEmulation != null) { _controllerEmulation.Enabled = false; _controllerEmulation.RemoveHooks(); _controllerEmulation = null; } if (_tobiiTracker != null) { _tobiiTracker.Dispose(); _tobiiTracker = null; } Debug.Log("End ShutDown"); }