패키지 업데이트 분리 작업
This commit is contained in:
@@ -148,6 +148,15 @@ namespace Mitria_Minecraft_Launcher.Updater
|
||||
packageInitialization = false;
|
||||
CommonLibrary.Log.INFO("[Package] update.");
|
||||
}
|
||||
// 패키지 다운로드
|
||||
var downloadUrl = CommonLibrary.Extensions.PathCombineL(Settings.ServerBaseUrl, "Servers", Settings.NowProfile.ServerName, dataPatchInformation.PackageUrl, dataPatchInformation.PackageFileName);
|
||||
var targetPath = System.IO.Path.Combine(tempDirectory, dataPatchInformation.PackageFileName);
|
||||
GameUpdateManagerMessage(this, new GameUpdateManagerMessageEventArgs(GameUpdateManagerMessageType.First, 5, 9, "[5/9] Package Download"));
|
||||
Log.INFO("[Package] Download Start");
|
||||
downloader.DownloadFile(downloadUrl, targetPath);
|
||||
Log.INFO("[Package] Download End");
|
||||
|
||||
|
||||
var rootDirectoryInfo = new System.IO.DirectoryInfo(System.IO.Path.GetFullPath(CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory, Settings.NowProfile.ServerName)));
|
||||
|
||||
if (!rootDirectoryInfo.Exists)
|
||||
@@ -157,6 +166,7 @@ namespace Mitria_Minecraft_Launcher.Updater
|
||||
}
|
||||
else if(packageInitialization)
|
||||
{
|
||||
Log.INFO("[Package] Empty GameDirectory Start");
|
||||
// 비우기 전에 스크린샷폴더 보존 /screenshots
|
||||
string oldScreenshotsDirectory = CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory, Settings.NowProfile.ServerName, "screenshots");
|
||||
string newScreenshotsDirectory = System.IO.Path.GetFullPath("screenshots_" + DateTime.Now.ToString("yyyyMMddHHmmss"));
|
||||
@@ -171,16 +181,32 @@ namespace Mitria_Minecraft_Launcher.Updater
|
||||
Extensions.EmptyDirectory(rootDirectoryInfo.FullName);
|
||||
Log.INFO("[Package] Empty GameDirectory");
|
||||
}
|
||||
else
|
||||
{
|
||||
Log.INFO("[Package] Partial Clean GameDirectory Start");
|
||||
var tempPacker = new ProgressPacker();
|
||||
var list = tempPacker.GetTopLevelItem(targetPath);
|
||||
// 리스트에 있는 디렉토리와 파일 삭제
|
||||
foreach (var item in list)
|
||||
{
|
||||
string target = CommonLibrary.Extensions.PathCombineW(Settings.UserLauncherConfig.GameDirectory, Settings.NowProfile.ServerName, item.Name);
|
||||
if (item.IsDirectory)
|
||||
{
|
||||
Extensions.DeleteDirectory(target);
|
||||
Log.INFO("[Package] -[D] " + target);
|
||||
}
|
||||
else
|
||||
{
|
||||
Extensions.DeleteFile(target);
|
||||
Log.INFO("[Package] -[F] " + target);
|
||||
}
|
||||
}
|
||||
Log.INFO("[Package] Partial Clean GameDirectory End");
|
||||
}
|
||||
|
||||
var downloadUrl = CommonLibrary.Extensions.PathCombineL(Settings.ServerBaseUrl, "Servers", Settings.NowProfile.ServerName, dataPatchInformation.PackageUrl, dataPatchInformation.PackageFileName);
|
||||
var targetPath = System.IO.Path.Combine(tempDirectory, dataPatchInformation.PackageFileName);
|
||||
GameUpdateManagerMessage(this, new GameUpdateManagerMessageEventArgs(GameUpdateManagerMessageType.First, 5, 9, "[5/9] Package Download"));
|
||||
Log.INFO("[Package] Download Start");
|
||||
downloader.DownloadFile(downloadUrl, targetPath);
|
||||
Log.INFO("[Package] Download End");
|
||||
|
||||
|
||||
|
||||
|
||||
// 용도가 뭐지/???
|
||||
if (Settings.UserClientVersion.PackageDirectorys != null)
|
||||
{
|
||||
foreach (var item in Settings.UserClientVersion.PackageDirectorys)
|
||||
|
Reference in New Issue
Block a user