protected override void ReadData(ESPReader reader)
 {
     using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
         using (ESPReader subReader = new ESPReader(stream, reader.Plugin))
         {
             try
             {
                 Stone.ReadBinary(subReader);
                 Dirt.ReadBinary(subReader);
                 Grass.ReadBinary(subReader);
                 Glass.ReadBinary(subReader);
                 Metal.ReadBinary(subReader);
                 Wood.ReadBinary(subReader);
                 Organic.ReadBinary(subReader);
                 Cloth.ReadBinary(subReader);
                 Water.ReadBinary(subReader);
                 HollowMetal.ReadBinary(subReader);
                 OrganicBug.ReadBinary(subReader);
                 OrganicGlow.ReadBinary(subReader);
             }
             catch
             {
                 return;
             }
         }
 }
 protected override void WriteData(ESPWriter writer)
 {
     Stone.WriteBinary(writer);
     Dirt.WriteBinary(writer);
     Grass.WriteBinary(writer);
     Glass.WriteBinary(writer);
     Metal.WriteBinary(writer);
     Wood.WriteBinary(writer);
     Organic.WriteBinary(writer);
     Cloth.WriteBinary(writer);
     Water.WriteBinary(writer);
     HollowMetal.WriteBinary(writer);
     OrganicBug.WriteBinary(writer);
     OrganicGlow.WriteBinary(writer);
 }
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Stone", true, out subEle);
            Stone.WriteXML(subEle, master);

            ele.TryPathTo("Dirt", true, out subEle);
            Dirt.WriteXML(subEle, master);

            ele.TryPathTo("Grass", true, out subEle);
            Grass.WriteXML(subEle, master);

            ele.TryPathTo("Glass", true, out subEle);
            Glass.WriteXML(subEle, master);

            ele.TryPathTo("Metal", true, out subEle);
            Metal.WriteXML(subEle, master);

            ele.TryPathTo("Wood", true, out subEle);
            Wood.WriteXML(subEle, master);

            ele.TryPathTo("Organic", true, out subEle);
            Organic.WriteXML(subEle, master);

            ele.TryPathTo("Cloth", true, out subEle);
            Cloth.WriteXML(subEle, master);

            ele.TryPathTo("Water", true, out subEle);
            Water.WriteXML(subEle, master);

            ele.TryPathTo("HollowMetal", true, out subEle);
            HollowMetal.WriteXML(subEle, master);

            ele.TryPathTo("OrganicBug", true, out subEle);
            OrganicBug.WriteXML(subEle, master);

            ele.TryPathTo("OrganicGlow", true, out subEle);
            OrganicGlow.WriteXML(subEle, master);
        }
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Stone", false, out subEle))
            {
                Stone.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Dirt", false, out subEle))
            {
                Dirt.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Grass", false, out subEle))
            {
                Grass.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Glass", false, out subEle))
            {
                Glass.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Metal", false, out subEle))
            {
                Metal.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Wood", false, out subEle))
            {
                Wood.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Organic", false, out subEle))
            {
                Organic.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Cloth", false, out subEle))
            {
                Cloth.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("Water", false, out subEle))
            {
                Water.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("HollowMetal", false, out subEle))
            {
                HollowMetal.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("OrganicBug", false, out subEle))
            {
                OrganicBug.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("OrganicGlow", false, out subEle))
            {
                OrganicGlow.ReadXML(subEle, master);
            }
        }