public void Process(bool isInRadialMenu) { var time = DateTime.UtcNow; _timeDelta = time - _lastTime; _lastTime = time; var isMeleeWeapon = Util.IsMelee(Game.Player.Character.Weapons.Current.Hash); var isThrowableWeapon = Util.IsThrowable(Game.Player.Character.Weapons.Current.Hash); var isSniperWeaponAndZoomed = Util.IsSniper(Game.Player.Character.Weapons.Current.Hash) && (GameplayCamera.IsFirstPersonAimCamActive); if ((_settings.AimWithGazeEnabled && GameplayCamera.IsAimCamActive && !isMeleeWeapon && !isThrowableWeapon && !isSniperWeaponAndZoomed && !isInRadialMenu) || AlwaysShowCrosshair) { _drawCrosshair = true; } if (_drawCrosshair) { UI.HideHudComponentThisFrame((HudComponent)14); } if (_drawCrosshair && !MissileLockedCrosshairVisible) { _dotCrosshair.Render(); } if (_settings.MissilesAtGazeEnabled && Game.Player.Character.IsInVehicle() && MissileLockedCrosshairVisible) { _missileLockCrosshair.Render(); } _homingMissilesHelper.Process(); _drawCrosshair = false; }
public void OnTick(object sender, EventArgs e) { if (_shutDownRequestFlag) { return; } _controllerEmulation.Enabled = !Game.IsPaused; _mouseEmulation.Enabled = !Game.IsPaused && !_menuPool.IsAnyMenuOpen() && _isWindowForeground; CheckFreelookDevice(); SaveSettingsOnMenuClosed(); Game.Player.Character.CanBeKnockedOffBike = _settings.DontFallFromBikesEnabled; //Bug in Script hook CheckUserPresense(); if (Game.IsPaused) { return; } if (!_settings.UserAgreementAccepted) { _introScreen.OpenMenu(); } RecordGameSessionStarted(); Vector3 shootCoord; Vector3 shootCoordSnap; Vector3 shootMissileCoord; Ped ped; Entity missileTarget; //Util.Log("0 - " + DateTime.UtcNow.Ticks); var controllerState = _controllerEmulation.ControllerState; const float joystickRadius = 0.1f; var joystickDelta = new Vector2(controllerState.Gamepad.RightThumbX, -controllerState.Gamepad.RightThumbY) * (1.0f / 32768.0f) * joystickRadius; //Util.Log("1 - " + DateTime.UtcNow.Ticks); _gazeProjector.FindGazeProjection( _lastNormalizedCenterDelta, joystickDelta, out shootCoord, out shootCoordSnap, out shootMissileCoord, out ped, out missileTarget); //Util.Log("2 - " + DateTime.UtcNow.Ticks); _controlsProcessor.Process(_lastTickTime, _lastNormalizedCenterDelta, _aspectRatio, shootCoord, shootCoordSnap, shootMissileCoord, ped, missileTarget); //Util.Log("3 - " + DateTime.UtcNow.Ticks); //_aiming.TurnHead(ped, shootCoord); _menuPool.ProcessMenus(); //Util.Log("4 - " + DateTime.UtcNow.Ticks); _animationHelper.Process(); //Util.Log("5 - " + DateTime.UtcNow.Ticks); if (_debugOutput.Visible) { _debugGazeVisualization.Render(); } _debugOutput.Process(); //Util.Log("6 - " + DateTime.UtcNow.Ticks); _pedestrianInteraction.Process(ped, DateTime.UtcNow - _lastTickTime); //Util.Log("7 - " + DateTime.UtcNow.Ticks); _deadzoneEditor.Process(); _mouseEmulation.ProcessInput(); //Util.Log("8 - " + DateTime.UtcNow.Ticks); _lastTickTime = DateTime.UtcNow; if (_shutDownRequestFlag) { _shutDownRequestedEvent.Set(); } }