mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 03:24:00 +02:00
Update edit.js to buffer mouseMove events
This helps keep events from getting backed up on the event queue by handling move events in the update() loop and dropping extra move events that might come before an update.
This commit is contained in:
parent
5a388a0c14
commit
0d2991b9b0
1 changed files with 14 additions and 2 deletions
|
@ -592,7 +592,11 @@ var idleMouseTimerId = null;
|
|||
var IDLE_MOUSE_TIMEOUT = 200;
|
||||
var DEFAULT_ENTITY_DRAG_DROP_DISTANCE = 2.0;
|
||||
|
||||
function mouseMoveEvent(event) {
|
||||
var lastMouseMoveEvent = null;
|
||||
function mouseMoveEventBuffered(event) {
|
||||
lastMouseMoveEvent = event;
|
||||
}
|
||||
function mouseMove(event) {
|
||||
mouseHasMovedSincePress = true;
|
||||
|
||||
if (placingEntityID) {
|
||||
|
@ -661,6 +665,10 @@ function highlightEntityUnderCursor(position, accurateRay) {
|
|||
|
||||
|
||||
function mouseReleaseEvent(event) {
|
||||
if (lastMouseMoveEvent) {
|
||||
mouseMove(lastMouseMoveEvent);
|
||||
lastMouseMoveEvent = null;
|
||||
}
|
||||
if (propertyMenu.mouseReleaseEvent(event) || toolBar.mouseReleaseEvent(event)) {
|
||||
return true;
|
||||
}
|
||||
|
@ -772,7 +780,7 @@ function mouseClickEvent(event) {
|
|||
}
|
||||
|
||||
Controller.mousePressEvent.connect(mousePressEvent);
|
||||
Controller.mouseMoveEvent.connect(mouseMoveEvent);
|
||||
Controller.mouseMoveEvent.connect(mouseMoveEventBuffered);
|
||||
Controller.mouseReleaseEvent.connect(mouseReleaseEvent);
|
||||
|
||||
|
||||
|
@ -882,6 +890,10 @@ Script.update.connect(function (deltaTime) {
|
|||
lastOrientation = Camera.orientation;
|
||||
lastPosition = Camera.position;
|
||||
}
|
||||
if (lastMouseMoveEvent) {
|
||||
mouseMove(lastMouseMoveEvent);
|
||||
lastMouseMoveEvent = null;
|
||||
}
|
||||
});
|
||||
|
||||
function insideBox(center, dimensions, point) {
|
||||
|
|
Loading…
Reference in a new issue