Files
node-screenlogic/messages/SLSetCircuitStateMessage.js
Parnic 27bdf0380e Ensure all messages populate the response senderId
Fixed `addClient` and `removeClient` events returning `SLCancelDelay` objects. This shouldn't really make a difference as there are no properties to worry about on one or the other, but it was still incorrect and could cause bugs if stuff was added to those messages in the future.
2020-08-12 08:51:44 -05:00

33 lines
784 B
JavaScript

'use strict';
const SLMessage = require('./SLMessage.js').SLMessage;
const MSG_ID = 12530;
exports.SLSetCircuitStateMessage = class SLSetCircuitStateMessage extends SLMessage {
constructor(controllerId, circuitId, circuitState, senderId) {
if (typeof controllerId === 'object') {
var size = controllerId.readInt32LE(4) + 8;
super(controllerId, MSG_ID, size);
} else {
super(senderId, MSG_ID);
this.controllerId = controllerId;
this.circuitId = circuitId;
this.circuitState = circuitState;
}
}
encode() {
this.writeInt32LE(this.controllerId || 0);
this.writeInt32LE(this.circuitId || 0);
this.writeInt32LE(this.circuitState || 0);
super.encode();
}
static getResponseId() {
return MSG_ID + 1;
}
};