public static InputCommand Deserialize(ref ComposedByteStream stream) { InputCommand result = new InputCommand(); result.id = stream.ReadNextStream(); float[] data = stream.ReadNextStream<float>(); result.state = (HumanInputState)data[0]; result.position.x = data[1]; result.position.y = data[2]; result.axis = data[3]; return result; }
protected static void DeserializeExposedObject(ref ComposedByteStream stream, ExposedObject storeTo) { storeTo.fieldName = stream.ReadNextStream(); storeTo.typeName = stream.ReadNextStream(); storeTo.isStruct = stream.ReadNextStream<byte>()[0] == byte.MaxValue; storeTo.primitiveMembers = SerializeSharedHelper.DeserializeStrings(stream.ReadNextStream<byte>()); storeTo.objectMembers = ExposedObject.DeserializeArray(stream.ReadNextStream<byte>()); storeTo.collectionMembers = ExposedCollection.Deserialize(stream.ReadNextStream<byte>()); storeTo.unityObjectMembers = ExposedUnityObjectPointer.DeserializeArray(stream.ReadNextStream<byte>()); }