Spaces:
Running
Running
File size: 543 Bytes
2b7aae2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | class Layers {
constructor() {
this.mask = 1 | 0;
}
set(channel) {
this.mask = ((1 << channel) | 0) >>> 0;
}
enable(channel) {
this.mask |= (1 << channel) | 0;
}
enableAll() {
this.mask = 0xffffffff | 0;
}
toggle(channel) {
this.mask ^= (1 << channel) | 0;
}
disable(channel) {
this.mask &= ~((1 << channel) | 0);
}
disableAll() {
this.mask = 0;
}
test(layers) {
return (this.mask & layers.mask) !== 0;
}
isEnabled(channel) {
return (this.mask & ((1 << channel) | 0)) !== 0;
}
}
export { Layers };
|