| 12345678910111213141516171819202122232425262728293031323334353637 | namespace InABox.DigitalMatter{    public class DMDigitalDataField : DMField    {        public override byte Type => 0x02;        public uint Inputs { get; set; }        public ushort Outputs { get; set; }        public ushort Status { get; set; }        protected override void DoDecode(IDMReadBuffer buffer)        {            Inputs = buffer.TakeUInt32();            Outputs = buffer.TakeUInt16();            Status = buffer.TakeUInt16();        }        protected override void DoEncode(IDMWriteBuffer buffer)        {            buffer.AddUInt32(Inputs);            buffer.AddUInt16(Outputs);            buffer.AddUInt16(Status);        }        public override string ToString()        {            return string.Format("In: {0:X8} Out: {1:X4} Status: {2:X4}", Inputs, Outputs, Status);        }        public override bool IsValid()        {            return Inputs != 0 || Outputs != 0 || Status != 0;        }    }}
 |