private static void LoadEngine(string version) { if (version == "standalone") { Console.WriteLine("Engine is Contained in Game Package. Using engine from there."); return; } string filePath = version; if (version.StartsWith("path:") && File.Exists(version.Remove(0, 5))) { filePath = version.Remove(0, 5); } else if (!version.StartsWith("path:")) { if (!EnginePlayerConsole.IsEngineVersionAvailable(version)) { if (!EnginePlayerConsole.DownloadEngineVersion(version)) { Console.WriteLine("Could not locate engine version : " + version); Console.WriteLine("Finding Compatible.."); if (!Version.TryParse(version, out Version v)) { throw new ArgumentException("Could not parse engine version : " + version); } bool foundVersion = false; Version vx = new Version(v.Major, v.Minor, v.Build, 0); for (int i = 0; i < EnginePlayerConsole.AvailableVersionsOnServer.Length; i++) { Version avx = new Version(EnginePlayerConsole.AvailableVersionsOnServer[i].Major, EnginePlayerConsole.AvailableVersionsOnServer[i].Minor, EnginePlayerConsole.AvailableVersionsOnServer[i].Build, 0); if (v != EnginePlayerConsole.AvailableVersionsOnServer[i] && vx == avx) { EnginePlayerConsole.DownloadEngineVersion(EnginePlayerConsole .AvailableVersionsOnServer[i].ToString()); version = EnginePlayerConsole.AvailableVersionsOnServer[i].ToString(); foundVersion = true; break; } } if (!foundVersion) { throw new ArgumentException("Could not locate engine version : " + v); } } } filePath = GetEnginePath(version); } Console.WriteLine("Loading Engine Version: " + version); Creator.UnpackPackage(filePath, EnginePlayerConsole.GameDir); }
private static void DownloadEngine(string[] args) { if (!EnginePlayerConsole.IsEngineVersionAvailable(args[0])) { System.Console.WriteLine("Downloading Version " + args[0]); EnginePlayerConsole.DownloadEngineVersion(args[0]); } else { System.Console.WriteLine("Engine Version not available. Skipping Download."); } }
private static void RemoveEngine(string[] args) { if (EnginePlayerConsole.IsEngineVersionAvailable(args[0])) { System.Console.WriteLine("Deleting Version " + args[0]); File.Delete(EnginePlayerConsole.EngineDir + "/" + args[0] + ".engine"); } else { System.Console.WriteLine("Engine Version not available. Skipping Deletion."); } }