private void TryImport(OpenedFile[] files) { // Whether at least one file was successfully imported var successfulImport = false; // Whether at least one .evol file failed to be imported var failedImport = false; foreach (OpenedFile file in files) { var extension = file.Extension.ToLower(); if (extension.Equals(".evol")) { var encoded = file.ToUTF8String(); try { var simulationData = SimulationSerializer.ParseSimulationData(encoded, file.Name); // SimulationSerializer.SaveSimulation(simulationData); } catch { failedImport = true; Debug.LogError(string.Format("Failed to parse .evol file contents: {0}", encoded)); continue; } SimulationSerializer.SaveSimulationFile(file.Name, encoded, false); successfulImport = true; } } RefreshCache(); try { viewController.Refresh(); } catch { DelayExtensions.Delay(this, 0.2f, delegate() { viewController.Refresh(); }); } if (successfulImport) { importIndicator.FadeInOut(); } if (failedImport) { failedImportIndicator.FadeInOut(1.8f); } }
private void TryImport(OpenedFile[] files) { // Whether at least one file was successfully imported var successfulImport = false; // Whether at least one .creat file failed to be imported var failedImport = false; CreatureDesign lastImportedDesign = null; foreach (var file in files) { var extension = file.Extension.ToLower(); if (extension.Equals(".creat")) { var nameFromFile = CreatureSerializer.EXTENSION_PATTERN.Replace(file.Name, ""); var encoded = file.ToUTF8String(); try { var design = CreatureSerializer.ParseCreatureDesign(encoded, nameFromFile); CreatureSerializer.SaveCreatureDesign(design, false); lastImportedDesign = design; } catch { failedImport = true; Debug.LogError(string.Format("Failed to parse .creat file contents: {0}", encoded)); continue; } successfulImport = true; } } RefreshCache(); try { viewController.Refresh(); } catch {} if (successfulImport) { importIndicator.FadeInOut(); CloseAndLoadOnNextFrame(lastImportedDesign.Name); } if (failedImport) { failedImportIndicator.FadeInOut(1.8f); } }