public RiotSolution Load(string radsPath, RiotProjectType?projectTypeLimit = null) { var solution = new RiotSolution(radsPath); var projectLoader = new RiotProjectLoader(); var projectsDirectory = Path.Combine(radsPath, "projects"); var projectDirectories = Directory.GetDirectories(projectsDirectory); foreach (var projectPath in projectDirectories) { var projectDirectoryInfo = new DirectoryInfo(projectPath); var projectName = projectDirectoryInfo.Name; var projectType = RiotProjectType.Unknown; if (projectName.Equals("lol_air_client", StringComparison.OrdinalIgnoreCase)) { projectType = RiotProjectType.AirClient; } else if (projectName.StartsWith("lol_air_client_config", StringComparison.OrdinalIgnoreCase)) { projectType = RiotProjectType.AirClientConfig; } else if (projectName.Equals("lol_game_client", StringComparison.OrdinalIgnoreCase)) { projectType = RiotProjectType.GameClient; } else if (projectName.StartsWith("lol_game_client_", StringComparison.OrdinalIgnoreCase)) { projectType = RiotProjectType.GameClientConfig; } else if (projectName.Equals("lol_launcher", StringComparison.OrdinalIgnoreCase)) { projectType = RiotProjectType.Launcher; } if (projectTypeLimit == null || projectTypeLimit.Value == projectType) { solution.AddProject(projectLoader.LoadProject(projectType, projectPath, projectName)); } } return(solution); }
public void LoadGameProjectTest() { var stopwatch = new Stopwatch(); stopwatch.Start(); var projectLoader = new RiotProjectLoader(kRadsDirectory); Debug.WriteLine("Loaded Project Loader in: " + stopwatch.ElapsedMilliseconds); var project = projectLoader.LoadProject(RiotProjectType.GameClient); Debug.WriteLine("Loaded Project in: " + stopwatch.ElapsedMilliseconds); var manifest = project.ReleaseManifest; Debug.WriteLine("Loaded Manifest in: " + stopwatch.ElapsedMilliseconds); var tree = manifest.Root; Debug.WriteLine("Loaded Tree in: " + stopwatch.ElapsedMilliseconds); }