public static LogicSettings ConstructFromSettings(ScreenAssistantSettings settings)
 {
     return(new LogicSettings
     {
         DeltaX = settings.DeltaX,
         DeltaY = settings.DeltaY,
         UseWeaponLogic = settings.UseUniqueWeaponLogic,
         LockToGameWindow = settings.LockToGameWindow,
         SensitivityScale = settings.SensitivityScale
     });
 }
        public void UpdateSettings(ScreenAssistantSettings settings)
        {
            SHGetKnownFolderPath(FolderIdSavedGames, (uint)KnownFolderFlag.DEFAULT_PATH, IntPtr.Zero, out var pPath);

            string path = Marshal.PtrToStringUni(pPath);

            Marshal.FreeCoTaskMem(pPath);

            if (path == null)
            {
                return;
            }

            var gameSettingsFolderPath = Path.Combine(path, StudioName, GameFolderName);

            var localPath             = Path.Combine(gameSettingsFolderPath, LocalFolderName);
            var profilePath           = Path.Combine(gameSettingsFolderPath, ProfileFolderName);
            var settingsFilePath      = Path.Combine(localPath, ConfigFileName);
            var videoConfigFilePath   = Path.Combine(localPath, VideoConfigFileName);
            var profileConfigFilePath = Path.Combine(profilePath, ProfileConfigFileName);
            IEnumerable <string> settingsFromFiles = null;

            if (File.Exists(settingsFilePath))
            {
                settingsFromFiles = File.ReadAllLines(settingsFilePath);
            }

            if (File.Exists(videoConfigFilePath))
            {
                var videoSettings         = File.ReadAllLines(videoConfigFilePath);
                var videoSettingsFiltered = videoSettings.Skip(2).Take(videoSettings.Length - 3);
                settingsFromFiles = settingsFromFiles?.Union(videoSettingsFiltered) ?? videoSettingsFiltered;
            }

            if (File.Exists(profileConfigFilePath))
            {
                var profileSettings = File.ReadAllLines(profileConfigFilePath);
                settingsFromFiles = settingsFromFiles?.Union(profileSettings) ?? profileSettings;
            }

            var recognizedConfig = ReadConfig(settingsFromFiles);

            recognizedConfig.UpdateSettings(settings);
        }
Example #3
0
 internal ScreenAssistantSettingsBuilder(ScreenAssistantSettings settingsClass) : base(settingsClass)
 {
     this._settingsClass = settingsClass;
 }
 public void UpdateSettings(ScreenAssistantSettings settings)
 {
     settings.SensitivityScale = 5 / Math.Max((this.MouseSensitivity * this.AdsScalar0), 0.001f);
     settings.FullScreenMode   = this.IsFullScreen;
 }