private static object DeserializeArrayInet(Type etype, NetMessage message) { var count = message.ReadInt32(); var array = Array.CreateInstance(etype, count); for (int i = 0; i < count; i++) { var deser = (GetNew(etype) as INetSerializable); if (deser != null) { deser.OnDeserialize(message); } array.SetValue(deser, i); } return(array); }
/// <summary> /// Deserialize the array from the message /// </summary> /// <param name="message"></param> public void OnDeserialize(NetMessage message) { var length = message.ReadInt32(); Items = new T[length]; for (int i = 0; i < length; i++) { var hasValue = true; if (PreserveIndex && !IsValueType) { hasValue = message.ReadBoolean(); } if (!hasValue) { continue; } var t = new T(); t.OnDeserialize(message); Items[i] = t; } }
public void OnDeserialize(NetMessage message) { Value = message.ReadInt32(); }
/// <summary> /// deserialize from the stream /// </summary> /// <param name="message"></param> public override void OnDeserialize(NetMessage message) { var size = message.ReadInt32(); message.ReadBytes(size, out Value); }