private void OnFileExtractComplete(object sender, EventArgs e) { if (wmoRunner == null) { return; } if (e is FileExtractCompleteArgs) { FileExtractCompleteArgs args = (FileExtractCompleteArgs)e; if (wmoRunner != null && args.RunnerID == wmoRunner.runnerID) { if (!args.Success) { CancelExtraction(); Alert.Show(string.Format("Unable to extract WMO file '{0}'.", args.File.FullName)); } wmoDoneCount++; if (wmoDoneCount == currentFiles.Count) { LoadWMOFile(); } } } else if (e is FileExtractCompleteUnsafeArgs) { FileExtractCompleteUnsafeArgs args = (FileExtractCompleteUnsafeArgs)e; if (args.RunnerID == texRunner.runnerID) { if (!args.Success) { CancelExtraction(); Alert.Show(string.Format("Unable to extract WMO texture '{0}'.", args.File)); } texDone++; if (texDone == texTotal) { try { CreateWMOMesh(); } catch (WMOException ex) { OnWMOException(ex); } } else { UpdateTexturePrepStatus(); } } } }
private void EventManager_FileExtractComplete(object sender, EventArgs e) { if (!(e is FileExtractCompleteUnsafeArgs)) { return; } FileExtractCompleteUnsafeArgs args = (FileExtractCompleteUnsafeArgs)e; if (runner != null && args.RunnerID == runner.runnerID) { if (args.File.ToLower().EndsWith(".skin")) { extractSkinFile = args.File; } else { extractModelFile = args.File; } if (extractSkinFile != null && extractModelFile != null) { string modelTempPath = Path.Combine(Constants.TEMP_DIRECTORY, extractModelFile); string skinTempPath = Path.Combine(Constants.TEMP_DIRECTORY, extractSkinFile); try { if (!File.Exists(modelTempPath)) { throw new M2Exception(string.Format("Extracted model file {0} does not exist.", modelTempPath)); } if (!File.Exists(skinTempPath)) { throw new M2Exception(string.Format("Extract skin file {0} does not exist.", skinTempPath)); } M2File model = new M2File(modelTempPath, new M2SkinFile(skinTempPath)); model.parse(); Log.Write("ModelViewer: Loaded {0} M2 data.", model.Name); meshes.Add(model.ToMesh()); } catch (M2Exception ex) { Alert.Show(string.Format("Sorry, an error prevented {0} from being opened!", selectedFileName)); Log.Write("Unable to extract M2 file: " + ex.Message); Log.Write(ex.StackTrace); } CloseLoadingWindow(); } } }