private static bool UpdateResourcesInAnimationData(TimelineActionData timelineActionData, ChangedResourceCollection changedResourceCollection)
        {
            bool flag = false;

            foreach (TimelineData timeline in timelineActionData.Timelines)
            {
                if (!(timeline.FrameType != typeof(TextureFrame).Name))
                {
                    foreach (TextureFrameData frame in timeline.Frames)
                    {
                        ResourceItemData textureFile = frame.TextureFile;
                        if (!((ResourceData)textureFile == (ResourceData)null))
                        {
                            ResourceFile resourceFile = (ResourceFile)null;
                            if (changedResourceCollection.TryGetValue((ResourceData)textureFile, out resourceFile))
                            {
                                if (resourceFile != null)
                                {
                                    textureFile.Update(resourceFile.GetResourceData());
                                }
                                else
                                {
                                    frame.TextureFile = (ResourceItemData)null;
                                }
                                if (!flag)
                                {
                                    flag = true;
                                }
                            }
                        }
                    }
                }
            }
            return(flag);
        }
        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);
        }
        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);
        }
        private static bool UpdateResourcesInAnimationData(TimelineActionData timelineActionData, ChangedResourceCollection changedResourceCollection)
        {
            bool flag = false;

            foreach (TimelineData current in timelineActionData.Timelines)
            {
                if (!(current.FrameType != typeof(TextureFrame).Name))
                {
                    using (List <FrameData> .Enumerator enumerator2 = current.Frames.GetEnumerator())
                    {
                        while (enumerator2.MoveNext())
                        {
                            TextureFrameData textureFrameData = (TextureFrameData)enumerator2.Current;
                            ResourceItemData textureFile      = textureFrameData.TextureFile;
                            if (!(textureFile == null))
                            {
                                ResourceFile resourceFile = null;
                                if (changedResourceCollection.TryGetValue(textureFile, out resourceFile))
                                {
                                    if (resourceFile != null)
                                    {
                                        textureFile.Update(resourceFile.GetResourceData());
                                    }
                                    else
                                    {
                                        textureFrameData.TextureFile = null;
                                    }
                                    if (!flag)
                                    {
                                        flag = true;
                                    }
                                }
                            }
                        }
                    }
                }
            }
            return(flag);
        }