コード例 #1
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Value", false, out subEle))
            {
                Value = subEle.ToInt32();
            }

            if (ele.TryPathTo("Flags", false, out subEle))
            {
                Flags = subEle.ToEnum <IngestibleFlags>();
            }

            ReadUnusedXML(ele, master);

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

            if (ele.TryPathTo("AddictionChance", false, out subEle))
            {
                AddictionChance = subEle.ToSingle();
            }

            if (ele.TryPathTo("ConsumeSound", false, out subEle))
            {
                SoundConsume.ReadXML(subEle, master);
            }
        }
コード例 #2
0
 protected override void WriteData(ESPWriter writer)
 {
     writer.Write(Value);
     writer.Write((Byte)Flags);
     if (Unused == null)
     {
         writer.Write(new byte[3]);
     }
     else
     {
         writer.Write(Unused);
     }
     WithdrawalEffect.WriteBinary(writer);
     writer.Write(AddictionChance);
     SoundConsume.WriteBinary(writer);
 }
コード例 #3
0
 protected override void ReadData(ESPReader reader)
 {
     using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
         using (ESPReader subReader = new ESPReader(stream, reader.Plugin))
         {
             try
             {
                 Value  = subReader.ReadInt32();
                 Flags  = subReader.ReadEnum <IngestibleFlags>();
                 Unused = subReader.ReadBytes(3);
                 WithdrawalEffect.ReadBinary(subReader);
                 AddictionChance = subReader.ReadSingle();
                 SoundConsume.ReadBinary(subReader);
             }
             catch
             {
                 return;
             }
         }
 }
コード例 #4
0
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Value", true, out subEle);
            subEle.Value = Value.ToString();

            ele.TryPathTo("Flags", true, out subEle);
            subEle.Value = Flags.ToString();

            WriteUnusedXML(ele, master);

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

            ele.TryPathTo("AddictionChance", true, out subEle);
            subEle.Value = AddictionChance.ToString("G15");

            ele.TryPathTo("ConsumeSound", true, out subEle);
            SoundConsume.WriteXML(subEle, master);
        }
コード例 #5
0
 public override int GetHashCode()
 {
     return(WithdrawalEffect.GetHashCode());
 }