internal OgmoObject(ContentReader reader)
        {
            this.Name     = reader.ReadString();
            this.Origin   = reader.ReadVector2();
            this.Position = reader.ReadVector2();
            this.Rotation = reader.ReadSingle();
            this.Width    = reader.ReadInt32();
            this.Height   = reader.ReadInt32();
            Rectangle source = Rectangle.Empty;

            source.X      = reader.ReadInt32();
            source.Y      = reader.ReadInt32();
            source.Width  = reader.ReadInt32();
            source.Height = reader.ReadInt32();
            this.Source   = source;
            this.IsTiled  = reader.ReadBoolean();
            this.Texture  = reader.ReadExternalReference <Texture2D>();
            int valueCount = reader.ReadInt32();

            if (valueCount > 0)
            {
                for (int i = 0; i < valueCount; i++)
                {
                    OgmoValue value = OgmoValueReader.Read(reader);
                    if (value != null)
                    {
                        values.Add(value.Name, value);
                    }
                }
            }
            int nodeCount = reader.ReadInt32();

            if (nodeCount > 0)
            {
                for (int i = 0; i < nodeCount; i++)
                {
                    nodes.Add(new OgmoNode(reader));
                }
            }
        }
        internal OgmoLevel(ContentReader reader)
        {
            // Project
            this.Project = reader.ReadExternalReference <OgmoProject>();
            // Values
            int valueCount = reader.ReadInt32();

            if (valueCount > 0)
            {
                for (int i = 0; i < valueCount; i++)
                {
                    OgmoValue value = OgmoValueReader.Read(reader);
                    if (value != null)
                    {
                        values.Add(value.Name, value);
                    }
                }
            }
            // Height
            this.Height = reader.ReadInt32();
            // Width
            this.Width = reader.ReadInt32();
            // Layers
            int layerCount = reader.ReadInt32();

            if (layerCount > 0)
            {
                for (int i = 0; i < layerCount; i++)
                {
                    OgmoLayer layer = OgmoLayerReader.Read(reader, this);
                    if (layer != null)
                    {
                        this.layers.Add(layer.Name, layer);
                    }
                }
            }
        }