我正在使用Ionic.Zip.dll從統一中提取zip文件。DotNetZIp阻止統一
它運作良好,與zip.ExtractAll(zipPath, ExtractExistingFileAction.OverwriteSilently);
但同時存檔提取的UI掛起(按鈕效果,等等)。 所以我試圖在協程中使用它,但沒有得到任何結果,我認爲這是錯誤的方法。
你已經用這種方式提取了東西嗎?
編輯:
我有問題跟蹤,因爲統一限制螺紋功能的完成。 最後用布爾和協程做到了:
public bool extractionDone = false;
IEnumerator CheckLauncherExtracted() {
while(!extractionDone) yield return null;
Debug.Log("ExtractionDone done !");
OnLauncherFilesExtracted();
}
public void Extraction(){
StartCoroutine("CheckLauncherExtracted");
ThreadPool.QueueUserWorkItem(x => {
FileManager.ExtractZipToDirectory(zipPath, zipExtractPath);
extractionDone = true;
});
}
謝謝,是否可以在提取結束時在主線程中觸發回調,告訴它是否可以繼續它的過程? – FLX
問題解決了,謝謝 – FLX
我看到你在編輯中做了什麼。你不必這樣做。請使用我提供的鏈接重新閱讀我的答案。在'zip.ExtractAll'之後,你可以完成''UnityThread.executeInUpdate(()=> {0}}你的回調函數() });'就是這樣。 – Programmer