private void PopulateElementSavesFromReferences(string projectRootDirectory, GumLoadResult result) { string errors = ""; Screens.Clear(); Components.Clear(); StandardElements.Clear(); Behaviors.Clear(); foreach (ElementReference reference in ScreenReferences) { ScreenSave toAdd = null; try { toAdd = reference.ToElementSave <ScreenSave>(projectRootDirectory, ScreenExtension, result); } catch (Exception e) { errors += "\nError loading " + reference.Name + ":\n" + e.Message; } if (toAdd != null) { Screens.Add(toAdd); } } foreach (ElementReference reference in ComponentReferences) { ComponentSave toAdd = null; try { toAdd = reference.ToElementSave <ComponentSave>(projectRootDirectory, ComponentExtension, result); } catch (Exception e) { errors += "\nError loading " + reference.Name + ":\n" + e.Message; } if (toAdd != null) { Components.Add(toAdd); } } foreach (ElementReference reference in StandardElementReferences) { StandardElementSave toAdd = null; try { toAdd = reference.ToElementSave <StandardElementSave>(projectRootDirectory, StandardExtension, result); } catch (Exception e) { errors += "\nError loading " + reference.Name + ":\n" + e.Message; } if (toAdd != null) { StandardElements.Add(toAdd); } } foreach (var reference in BehaviorReferences) { BehaviorSave toAdd = null; try { toAdd = reference.ToBehaviorSave(projectRootDirectory); } catch (Exception e) { errors += "\nError loading " + reference.Name + ":\n" + e.Message; } if (toAdd != null) { Behaviors.Add(toAdd); } } result.ErrorMessage += errors; }