Ok, I think I have a this context issue. I am trying to make, only on mousedown and the timer is reset on mouseup, a timer set in motion so that a boolean flag turns true after 5 seconds. If it is true when the timer is reset (on mouseup), a function this.triggerRoomChange() is triggered.
Here's what I have (its node):
   clearRoomChange(){
    this.readyToChangeRooms = true;
    console.log('READY');
  };
  onMouseDown()
  {
    this.mousedownTimeout = setTimeout(this.clearRoomChange, 5000);
    this.mouseDown++;
  }
  onMouseUp()
  {
    clearTimeout(this.mousedownTimeout);
    console.log(this.readyToChangeRooms);
    if(this.readyToChangeRooms)
    {
      this.triggerRoomChange();
      this.readyToChangeRooms = false;
    }
    this.mouseDown--;
  }
The print READY fires after the 5 seconds and the setTimeout appears to be cleared, however the variable (when printed on MouseUp) is always false. I clearly set it to true in this.clearRoomChange
Whats going on?
 
    