Artemis.Modules.Games.UnrealTournament.UnrealTournamentViewModel.FindGame C# (CSharp) Method

FindGame() public method

public FindGame ( ) : void
return void
        public void FindGame()
        {
            var gameSettings = (UnrealTournamentSettings) GameSettings;
            // If already propertly set up, don't do anything
            if ((gameSettings.GameDirectory != null) &&
                File.Exists(gameSettings.GameDirectory + "UE4-Win64-Shipping.exe"))
                return;

            // Attempt to read the file
            if (!File.Exists(@"C:\ProgramData\Epic\UnrealEngineLauncher\LauncherInstalled.dat"))
                return;

            var json =
                JsonConvert.DeserializeObject<JObject>(
                    File.ReadAllText(@"C:\ProgramData\Epic\UnrealEngineLauncher\LauncherInstalled.dat"));
            var utEntry =
                json["InstallationList"].Children()
                    .FirstOrDefault(c => c["AppName"].Value<string>() == "UnrealTournamentDev");
            if (utEntry == null)
                return;

            var utDir = utEntry["InstallLocation"].Value<string>();
            // Use backslash in path for consistency
            utDir = utDir.Replace('/', '\\');

            if (!File.Exists(utDir + @"\UE4-Win64-Shipping.exe"))
                return;

            gameSettings.GameDirectory = utDir;
            gameSettings.Save();
            PlaceFiles();
        }