protected override void ReadData(BinaryReader r)
        {
            if (Type != CurrentType)
            {
                throw new Exception(
                          "Resource have wrong type [" + TypeToString(Type) + "]. [" +
                          TypeToString(CurrentType) + "] required.");
            }
            if (Version != CurrentVersion)
            {
                throw new Exception(
                          "Resource have wrong version \"" + Version +
                          "]. [" + CurrentVersion + "] required.");
            }

            Texture.Read(r);

            Properties = (Property)r.ReadUInt32();
            Form       = (Shape)r.ReadUInt32();
            Anchors    = (Anchor)r.ReadUInt32();
            Reactions  = (Reaction)r.ReadUInt32();
            Solidity   = r.ReadInt32();
            Light      = r.ReadUInt32();

            Layer       = r.ReadInt32();
            PartSize    = r.ReadInt32();
            FramesCount = r.ReadInt32();
            FrameDelay  = r.ReadInt32();

            OffsetX = r.ReadInt32();
            OffsetY = r.ReadInt32();

            SetupEvent.Read(r);
            ReformEvent.Read(r);
            TouchEvent.Read(r);
            ActivateEvent.Read(r);
            RecieveEvent.Read(r);
            RemoveEvent.Read(r);

            BackColor   = r.ReadInt32();
            GridEnabled = r.ReadBoolean();
        }