public override byte[] serialize() { byte[][] parametersArray = new byte[parameters.Length + 1][]; for (byte i = 0; i < parameters.Length; i++) { ConfigParameter paramObject = parameters[i]; parametersArray[i + 1] = paramObject.serialize(); } parametersArray[0] = new byte[] { (byte)parameters.Length }; payLoad = parametersArray.SelectMany(x => x).ToArray(); //flatten array return(base.serialize()); }
public override void deserialize(byte[] packet) { base.deserialize(packet); parameters = new ConfigParameter[payLoad[0]]; byte pos = 1; for (int i = 0; i < payLoad[0]; i++) { parameters[i] = new ConfigParameter(); pos = parameters[i].deserialize(payLoad, pos); } }