private void TerminateRunners() { if (runner != null) { runner.Kill(); runner = null; } }
private void PrepareTextureFiles() { loadingWindow.SetFirstLine("Extracting WMO textures..."); Chunk_MOTX texChunk = (Chunk_MOTX)loadedFile.getChunk(Chunk_MOTX.Magic); string[] textures = texChunk.textures.all().ToArray(); texTotal = textures.Length; texDone = 0; UpdateTexturePrepStatus(); texRunner = new RunnerExtractItemUnsafe(textures); texRunner.CacheCheck = true; texRunner.Begin(); }
private void UI_FileList_AfterSelect(object sender, TreeViewEventArgs e) { TreeNode node = UI_FileList.SelectedNode; if (node != null && node.Tag is CASCFile) { CASCFile file = (CASCFile)node.Tag; TerminateRunners(); extractModelFile = null; extractSkinFile = null; selectedFileName = file.Name; string skinFile = skinPattern.Replace(file.FullName, "00.skin"); runner = new RunnerExtractItemUnsafe(file.FullName, skinFile); runner.Begin(); loadingWindow = new LoadingWindow(string.Format("Loading {0} model...", Path.GetFileNameWithoutExtension(selectedFileName)), "Extracting from data source...", true, cancelCallback); loadingWindow.ShowDialog(); } }