public override void ReadNetworkUpdate(BinaryReader reader)
    {
        mrCurrentPower = NetworkServerIO.ByteToFloat(reader.ReadByte());
        mTargetLens    = ItemFile.DeserialiseItem(reader);
        mStoredLenses  = ItemFile.DeserialiseItem(reader);

        mIssue        = (eIssues)reader.ReadByte();
        mStatus       = (eStatuses)reader.ReadByte();
        mbHaltedEarly = reader.ReadBoolean();
        mbOnlySwap    = reader.ReadBoolean();
        mbTrashOld    = reader.ReadBoolean();
        mnTrackLPTs   = reader.ReadInt16();
        mnTrackSwaps  = reader.ReadInt16();
    }
    public override void WriteNetworkUpdate(BinaryWriter writer)
    {
        writer.Write(NetworkServerIO.FloatToByte(mrCurrentPower));
        ItemFile.SerialiseItem(mTargetLens, writer);
        ItemFile.SerialiseItem(mStoredLenses, writer);

        writer.Write((byte)mIssue);
        writer.Write((byte)mStatus);
        writer.Write(mbHaltedEarly);
        writer.Write(mbOnlySwap);
        writer.Write(mbTrashOld);
        writer.Write(mnTrackLPTs);
        writer.Write(mnTrackSwaps);
    }