コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }