Ejemplo n.º 1
0
        public override bool UpdateUsedResources(IProgressMonitor monitor, ChangedResourceCollection changedResourceCollection)
        {
            bool flag  = GameProjectContent.UpdateResourcesInObjectData(this.Content.ObjectData, changedResourceCollection);
            bool flag2 = GameProjectContent.UpdateResourcesInAnimationData(this.Content.Animation, changedResourceCollection);

            return(flag || flag2);
        }
Ejemplo n.º 2
0
        private static HashSet <ResourceData> ScanObjectData(NodeObjectData parentNodeData)
        {
            PropertyAccessorHandler[] resourceProperties = parentNodeData.GetResourceProperties();
            HashSet <ResourceData>    resourceDataSet    = new HashSet <ResourceData>();

            if (resourceProperties != null)
            {
                foreach (PropertyAccessorHandler propertyAccessorHandler in resourceProperties)
                {
                    ResourceItemData resourceItemData = propertyAccessorHandler.GetValue((object)parentNodeData, (object[])null) as ResourceItemData;
                    if ((ResourceData)resourceItemData != (ResourceData)null)
                    {
                        resourceDataSet.Add((ResourceData)resourceItemData);
                    }
                }
            }
            if (parentNodeData.Children != null)
            {
                foreach (NodeObjectData child in parentNodeData.Children)
                {
                    resourceDataSet.UnionWith((IEnumerable <ResourceData>)GameProjectContent.ScanObjectData(child));
                }
            }
            return(resourceDataSet);
        }
Ejemplo n.º 3
0
        private static HashSet <ResourceData> ScanObjectData(NodeObjectData parentNodeData)
        {
            PropertyAccessorHandler[] resourceProperties = parentNodeData.GetResourceProperties();
            HashSet <ResourceData>    hashSet            = new HashSet <ResourceData>();

            if (resourceProperties != null)
            {
                PropertyAccessorHandler[] array = resourceProperties;
                for (int i = 0; i < array.Length; i++)
                {
                    PropertyAccessorHandler propertyAccessorHandler = array[i];
                    ResourceItemData        resourceItemData        = propertyAccessorHandler.GetValue(parentNodeData, null) as ResourceItemData;
                    if (resourceItemData != null)
                    {
                        hashSet.Add(resourceItemData);
                    }
                }
            }
            if (parentNodeData.Children != null)
            {
                foreach (NodeObjectData current in parentNodeData.Children)
                {
                    hashSet.UnionWith(GameProjectContent.ScanObjectData(current));
                }
            }
            return(hashSet);
        }
Ejemplo n.º 4
0
        private static bool UpdateResourcesInObjectData(NodeObjectData parentNodeData, ChangedResourceCollection changedResourceCollection)
        {
            PropertyAccessorHandler[] resourceProperties = parentNodeData.GetResourceProperties();
            bool result;

            if (resourceProperties == null)
            {
                result = false;
            }
            else
            {
                bool flag = false;
                PropertyAccessorHandler[] array = resourceProperties;
                for (int i = 0; i < array.Length; i++)
                {
                    PropertyAccessorHandler propertyAccessorHandler = array[i];
                    ResourceItemData        resourceItemData        = propertyAccessorHandler.GetValue(parentNodeData, null) as ResourceItemData;
                    if (!(resourceItemData == null))
                    {
                        ResourceFile resourceFile = null;
                        if (changedResourceCollection.TryGetValue(resourceItemData, out resourceFile))
                        {
                            if (resourceFile != null)
                            {
                                resourceItemData.Update(resourceFile.GetResourceData());
                            }
                            else
                            {
                                propertyAccessorHandler.SetValue(parentNodeData, null, null);
                            }
                            if (!flag)
                            {
                                flag = true;
                            }
                        }
                    }
                }
                if (parentNodeData.Children != null)
                {
                    foreach (NodeObjectData current in parentNodeData.Children)
                    {
                        bool flag2 = GameProjectContent.UpdateResourcesInObjectData(current, changedResourceCollection);
                        if (!flag && flag2)
                        {
                            flag = flag2;
                        }
                    }
                }
                result = flag;
            }
            return(result);
        }
Ejemplo n.º 5
0
        protected virtual IProjectContent CreateProjectContent(ProjectCreateInformation info)
        {
            NodeType result;

            if (!Enum.TryParse <NodeType>(info.ContentType, out result))
            {
                throw new InvalidOperationException("Unsupport content type" + info.ContentType);
            }
            GameProjectContent gameProjectContent = new GameProjectContent(result);

            gameProjectContent.Content.ObjectData.Size = new PointF(info.Width, info.Height);
            return((IProjectContent)gameProjectContent);
        }
Ejemplo n.º 6
0
        public override bool HasReferencedProject(Project project)
        {
            if (this.IsLoaded)
            {
                return(GameProjectContent.CheckReferenceProjectInObject(this.RootVisualObject as NodeObject, project));
            }
            if (this.Content == null || this.Content.ObjectData == null)
            {
                return(false);
            }
            ResourceData resourceData = project.GetResourceData();

            return(GameProjectContent.CheckReferenceProjectInObjectData(this.Content.ObjectData, project, resourceData));
        }
Ejemplo n.º 7
0
        private static bool CheckReferenceProjectInObjectData(NodeObjectData parentNode, Project project, ResourceData projectPath)
        {
            bool result;

            if (parentNode == null)
            {
                result = false;
            }
            else
            {
                ProjectNodeObjectData projectNodeObjectData = parentNode as ProjectNodeObjectData;
                if (projectNodeObjectData != null)
                {
                    ResourceItemData fileData = projectNodeObjectData.FileData;
                    if (projectPath.Equals(fileData))
                    {
                        result = true;
                        return(result);
                    }
                    if (fileData != null)
                    {
                        Project project2 = Services.ProjectsService.CurrentResourceGroup.FindResourceItem(fileData) as Project;
                        if (project2 != null)
                        {
                            bool flag = project2.HasReferencedProject(project);
                            if (flag)
                            {
                                result = true;
                                return(result);
                            }
                        }
                    }
                }
                if (parentNode.Children != null)
                {
                    foreach (NodeObjectData current in parentNode.Children)
                    {
                        bool flag2 = GameProjectContent.CheckReferenceProjectInObjectData(current, project, projectPath);
                        if (flag2)
                        {
                            result = true;
                            return(result);
                        }
                    }
                }
                result = false;
            }
            return(result);
        }
Ejemplo n.º 8
0
        private static HashSet <ResourceData> SearchResourceItemData(GameProjectData projectData)
        {
            HashSet <ResourceData> hashSet  = new HashSet <ResourceData>();
            HashSet <ResourceData> hashSet2 = GameProjectContent.ScanObjectData(projectData.ObjectData);

            if (hashSet2 != null)
            {
                hashSet.UnionWith(hashSet2);
            }
            hashSet2 = GameProjectContent.ScanAnimationData(projectData.Animation);
            if (hashSet2 != null)
            {
                hashSet.UnionWith(hashSet2);
            }
            return(hashSet);
        }
Ejemplo n.º 9
0
        private static HashSet <ResourceData> SearchResourceItemData(GameProjectData projectData)
        {
            HashSet <ResourceData> resourceDataSet1 = new HashSet <ResourceData>();
            HashSet <ResourceData> resourceDataSet2 = GameProjectContent.ScanObjectData(projectData.ObjectData);

            if (resourceDataSet2 != null)
            {
                resourceDataSet1.UnionWith((IEnumerable <ResourceData>)resourceDataSet2);
            }
            HashSet <ResourceData> resourceDataSet3 = GameProjectContent.ScanAnimationData(projectData.Animation);

            if (resourceDataSet3 != null)
            {
                resourceDataSet1.UnionWith((IEnumerable <ResourceData>)resourceDataSet3);
            }
            return(resourceDataSet1);
        }
Ejemplo n.º 10
0
        private static bool UpdateResourcesInObjectData(NodeObjectData parentNodeData, ChangedResourceCollection changedResourceCollection)
        {
            PropertyAccessorHandler[] resourceProperties = parentNodeData.GetResourceProperties();
            if (resourceProperties == null)
            {
                return(false);
            }
            bool flag1 = false;

            foreach (PropertyAccessorHandler propertyAccessorHandler in resourceProperties)
            {
                ResourceItemData resourceItemData = propertyAccessorHandler.GetValue((object)parentNodeData, (object[])null) as ResourceItemData;
                if (!((ResourceData)resourceItemData == (ResourceData)null))
                {
                    ResourceFile resourceFile = (ResourceFile)null;
                    if (changedResourceCollection.TryGetValue((ResourceData)resourceItemData, out resourceFile))
                    {
                        if (resourceFile != null)
                        {
                            resourceItemData.Update(resourceFile.GetResourceData());
                        }
                        else
                        {
                            propertyAccessorHandler.SetValue((object)parentNodeData, (object)null, (object[])null);
                        }
                        if (!flag1)
                        {
                            flag1 = true;
                        }
                    }
                }
            }
            if (parentNodeData.Children != null)
            {
                foreach (NodeObjectData child in parentNodeData.Children)
                {
                    bool flag2 = GameProjectContent.UpdateResourcesInObjectData(child, changedResourceCollection);
                    if (!flag1 && flag2)
                    {
                        flag1 = flag2;
                    }
                }
            }
            return(flag1);
        }
Ejemplo n.º 11
0
        private static bool CheckReferenceProjectInObject(NodeObject parentNode, Project project)
        {
            bool result;

            if (parentNode == null)
            {
                result = false;
            }
            else
            {
                ProjectNodeObject projectNodeObject = parentNode as ProjectNodeObject;
                if (projectNodeObject != null)
                {
                    ResourceFile fileData = projectNodeObject.FileData;
                    if (fileData == project)
                    {
                        result = true;
                        return(result);
                    }
                    if (projectNodeObject.Project != null)
                    {
                        bool flag = projectNodeObject.Project.HasReferencedProject(project);
                        if (flag)
                        {
                            result = true;
                            return(result);
                        }
                    }
                }
                if (parentNode.Children != null)
                {
                    foreach (NodeObject current in parentNode.Children)
                    {
                        bool flag2 = GameProjectContent.CheckReferenceProjectInObject(current, project);
                        if (flag2)
                        {
                            result = true;
                            return(result);
                        }
                    }
                }
                result = false;
            }
            return(result);
        }
Ejemplo n.º 12
0
        public override bool HasReferencedProject(Project project)
        {
            bool result;

            if (this.IsLoaded)
            {
                result = GameProjectContent.CheckReferenceProjectInObject(this.RootVisualObject as NodeObject, project);
            }
            else if (this.Content == null || this.Content.ObjectData == null)
            {
                result = false;
            }
            else
            {
                ResourceData resourceData = project.GetResourceData();
                result = GameProjectContent.CheckReferenceProjectInObjectData(this.Content.ObjectData, project, resourceData);
            }
            return(result);
        }
Ejemplo n.º 13
0
        private static bool CheckReferenceProjectInObjectData(NodeObjectData parentNode, Project project, ResourceData projectPath)
        {
            if (parentNode == null)
            {
                return(false);
            }
            ProjectNodeObjectData projectNodeObjectData = parentNode as ProjectNodeObjectData;

            if (projectNodeObjectData != null)
            {
                ResourceItemData fileData = projectNodeObjectData.FileData;
                if (projectPath.Equals((ResourceData)fileData))
                {
                    return(true);
                }
                if ((ResourceData)fileData != (ResourceData)null)
                {
                    Project resourceItem = Services.ProjectsService.CurrentResourceGroup.FindResourceItem((ResourceData)fileData) as Project;
                    if (resourceItem != null && resourceItem.HasReferencedProject(project))
                    {
                        return(true);
                    }
                }
            }
            if (parentNode.Children != null)
            {
                foreach (NodeObjectData child in parentNode.Children)
                {
                    if (GameProjectContent.CheckReferenceProjectInObjectData(child, project, projectPath))
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
Ejemplo n.º 14
0
        private static bool CheckReferenceProjectInObject(NodeObject parentNode, Project project)
        {
            if (parentNode == null)
            {
                return(false);
            }
            ProjectNodeObject projectNodeObject = parentNode as ProjectNodeObject;

            if (projectNodeObject != null && (projectNodeObject.FileData == project || projectNodeObject.Project != null && projectNodeObject.Project.HasReferencedProject(project)))
            {
                return(true);
            }
            if (parentNode.Children != null)
            {
                foreach (NodeObject child in (Collection <NodeObject>)parentNode.Children)
                {
                    if (GameProjectContent.CheckReferenceProjectInObject(child, project))
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
Ejemplo n.º 15
0
 public override bool UpdateUsedResources(IProgressMonitor monitor, ChangedResourceCollection changedResourceCollection)
 {
     return(GameProjectContent.UpdateResourcesInObjectData(this.Content.ObjectData, changedResourceCollection) || GameProjectContent.UpdateResourcesInAnimationData(this.Content.Animation, changedResourceCollection));
 }
Ejemplo n.º 16
0
 public override HashSet <ResourceData> GetUsedResources(IProgressMonitor monitor)
 {
     return(GameProjectContent.SearchResourceItemData(this.Content));
 }