BrashMonkey.Spriter.Data.IO.SCMLParser.ReadEntity C# (CSharp) Method

ReadEntity() private method

private ReadEntity ( XmlElement element ) : void
element System.Xml.XmlElement
return void
        void ReadEntity(XmlElement element)
        {
            foreach(XmlAttribute attribute in element.Attributes)
            {
                // id
                if (attribute.Name.Equals("id"))
                    m_Data.entity.ID = int.Parse(attribute.Value);

                // name
                else if (attribute.Name.Equals("name"))
                    m_Data.entity.name = attribute.Value;
            }

            if (m_Data.entity.name.Length == 0)
                m_Data.entity.name = "noname";

            foreach(XmlElement child in element)
            {
                // meta_data
                if (child.Name.Equals("meta_data"))
                    ReadMetaData(child, m_Data.entity.metaData);

                // animation
                else if (child.Name.Equals("animation"))
                {
                    SpriterAnimation animation = new SpriterAnimation();
                    m_Data.entity.animations.Add(animation);

                    foreach(XmlAttribute attribute in child.Attributes)
                    {
                        // id
                        if (attribute.Name.Equals("id"))
                            animation.ID = int.Parse(attribute.Value);

                        // name
                        else if (attribute.Name.Equals("name"))
                            animation.name = attribute.Value;

                        // length
                        else if (attribute.Name.Equals("length"))
                            animation.length = int.Parse(attribute.Value);

                        // looping
                        else if (attribute.Name.Equals("looping"))
                        {
                            animation.playbackTypeRaw = attribute.Value;
                            animation.playbackType = SpriterDataHelpers.ParseSpriterEnum<PlaybackType>(animation.playbackTypeRaw);
                        }

                        // loop_to
                        else if (attribute.Name.Equals("loop_to"))
                            animation.loopTo = int.Parse(attribute.Value);
                    }

                    foreach(XmlElement child2 in child)
                    {
                        // meta_data
                        if (child2.Name.Equals("meta_data"))
                            ReadMetaData(child2, animation.metaData);

                        // mainline
                        else if (child2.Name.Equals("mainline"))
                            ReadMainline(child2, animation);

                        // timeline
                        else if (child2.Name.Equals("timeline"))
                            ReadTimeline(child2, animation);
                    }
                }
            }
        }