private void CreateScreen() { Screen = new ScreenSave(); Screen.Initialize(StandardElementsManager.Self.GetDefaultStateFor("Screen")); Screen.Name = "VariableTestScreen"; ButtonInstanceInScreen = new InstanceSave(); ButtonInstanceInScreen.Name = "ButtonInstance"; ButtonInstanceInScreen.BaseType = "VariableTestButton"; Screen.Instances.Add(ButtonInstanceInScreen); Screen.DefaultState.SetValue("ButtonInstance.ButtonText", null); }
public void AddScreen(ScreenSave screenSave) { screenSave.Initialize(StandardElementsManager.Self.GetDefaultStateFor("Screen")); ProjectManager.Self.GumProjectSave.ScreenReferences.Add(new ElementReference { Name = screenSave.Name, ElementType = ElementType.Screen }); ProjectManager.Self.GumProjectSave.ScreenReferences.Sort((first, second) => first.Name.CompareTo(second.Name)); ProjectManager.Self.GumProjectSave.Screens.Add(screenSave); GumCommands.Self.FileCommands.TryAutoSaveProject(); GumCommands.Self.FileCommands.TryAutoSaveElement(screenSave); Plugins.PluginManager.Self.ElementAdd(screenSave); }
public ScreenSave AddScreen(string screenName) { ScreenSave screenSave = new ScreenSave(); screenSave.Initialize(StandardElementsManager.Self.GetDefaultStateFor("Screen")); screenSave.Name = screenName; ProjectManager.Self.GumProjectSave.ScreenReferences.Add(new ElementReference { Name = screenName, ElementType = ElementType.Screen }); ProjectManager.Self.GumProjectSave.ScreenReferences.Sort((first, second) => first.Name.CompareTo(second.Name)); ProjectManager.Self.GumProjectSave.Screens.Add(screenSave); return(screenSave); }
private GeneralResponse GetReferencesInProjectOrDisk(string fileName, TopLevelOrRecursive topLevelOrRecursive, List <string> listToFill, ProjectOrDisk projectOrDisk) { GeneralResponse generalResponse = GeneralResponse.SuccessfulResponse; if (CanTrackDependenciesOn(fileName)) { string extension = FileManager.GetExtension(fileName); string oldRelative = FileManager.RelativeDirectory; string gumxFile = null; FileManager.RelativeDirectory = GetGumxDirectory(fileName); LoadGumxIfNecessaryFromDirectory(FileManager.RelativeDirectory); string absoluteFileName = fileName; if (FileManager.IsRelative(absoluteFileName)) { absoluteFileName = FileManager.RelativeDirectory + absoluteFileName; } string errors = null; if (System.IO.File.Exists(absoluteFileName)) { switch (extension) { case "gumx": { try { LoadGumxIfNecessaryFromDirectory(FileManager.RelativeDirectory, force: true); GetFilesReferencedBy(Gum.Managers.ObjectFinder.Self.GumProjectSave, topLevelOrRecursive, listToFill, projectOrDisk); } catch (Exception e) { errors = "Error tracking Gum references for " + absoluteFileName + "\n" + e.ToString(); } } break; case "gucx": { ComponentSave gumComponentSave = null; try { gumComponentSave = FileManager.XmlDeserialize <ComponentSave>(absoluteFileName); gumComponentSave.FileName = absoluteFileName; // See an explanation for this in LoadGumxIfNecessaryFromDirectory gumComponentSave.Initialize(gumComponentSave.DefaultState); GetFilesReferencedBy(gumComponentSave, topLevelOrRecursive, listToFill, projectOrDisk); } catch (Exception e) { errors = "Error tracking Gum references for " + absoluteFileName + "\n" + e.ToString(); } } break; case "gusx": { ScreenSave gumScreenSave = null; try { gumScreenSave = FileManager.XmlDeserialize <ScreenSave>(absoluteFileName); gumScreenSave.FileName = absoluteFileName; // See an explanation for this in LoadGumxIfNecessaryFromDirectory gumScreenSave.Initialize(gumScreenSave.DefaultState); GetFilesReferencedBy(gumScreenSave, topLevelOrRecursive, listToFill, projectOrDisk); } catch (Exception e) { errors = "Error tracking Gum references for " + absoluteFileName + "\n" + e.ToString(); } } break; case "gutx": { StandardElementSave standardElementSave = null; try { standardElementSave = FileManager.XmlDeserialize <StandardElementSave>(absoluteFileName); standardElementSave.FileName = absoluteFileName; // See an explanation for this in LoadGumxIfNecessaryFromDirectory standardElementSave.Initialize(standardElementSave.DefaultState); GetFilesReferencedBy(standardElementSave, topLevelOrRecursive, listToFill, projectOrDisk); } catch (Exception e) { errors = "Error tracking Gum references for " + absoluteFileName + "\n" + e.ToString(); } } break; } } if (errors != null) { generalResponse = new GeneralResponse { Succeeded = false, Message = errors }; } FileManager.RelativeDirectory = oldRelative; } return(generalResponse); }