1
0

Layers.js 484 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. class Layers {
  2. constructor() {
  3. this.mask = 1 | 0;
  4. }
  5. set( channel ) {
  6. this.mask = 1 << channel | 0;
  7. }
  8. enable( channel ) {
  9. this.mask |= 1 << channel | 0;
  10. }
  11. enableAll() {
  12. this.mask = 0xffffffff | 0;
  13. }
  14. toggle( channel ) {
  15. this.mask ^= 1 << channel | 0;
  16. }
  17. disable( channel ) {
  18. this.mask &= ~ ( 1 << channel | 0 );
  19. }
  20. disableAll() {
  21. this.mask = 0;
  22. }
  23. test( layers ) {
  24. return ( this.mask & layers.mask ) !== 0;
  25. }
  26. }
  27. export { Layers };
粤ICP备19079148号