ZoneData.fromBuffer constructor
ZoneData.fromBuffer(
- ByteDataWrapper wrapper
Implementation
factory ZoneData.fromBuffer(ByteDataWrapper wrapper) {
final zoneName = wrapper.extractString();
final zoneType = wrapper.extractUint32();
final zoneLedsMin = wrapper.extractUint32();
final zoneLedsMax = wrapper.extractUint32();
final zoneLedsCount = wrapper.extractUint32();
final zoneMatrixLength = wrapper.extractUint16();
late final int zoneMatrixHeight;
late final int zoneMatrixWidth;
final List<int> zoneMatrix = [];
if (zoneMatrixLength != 0) {
zoneMatrixHeight = wrapper.extractUint16();
zoneMatrixWidth = wrapper.extractUint16();
for (int i = 0; i < zoneMatrixHeight * zoneMatrixWidth; i++) {
zoneMatrix.add(wrapper.extractUint32());
}
} else {
zoneMatrixHeight = 0;
zoneMatrixWidth = 0;
}
return ZoneData(
zoneName: zoneName,
zoneType: zoneType,
zoneLedsMin: zoneLedsMin,
zoneLedsMax: zoneLedsMax,
zoneLedsCount: zoneLedsCount,
zoneMatrixHeight: zoneMatrixHeight,
zoneMatrixWidth: zoneMatrixWidth,
zoneMatrix: zoneMatrix,
);
}