mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-04 04:33:11 +02:00
Reticle update rate limiter; end reactions on shutdown
This commit is contained in:
parent
cc9c9ec443
commit
1cb4a31e09
1 changed files with 24 additions and 0 deletions
|
@ -198,7 +198,18 @@ function deleteOldReticles() {
|
||||||
|
|
||||||
|
|
||||||
var MAX_INTERSECTION_DISTANCE_M = 50;
|
var MAX_INTERSECTION_DISTANCE_M = 50;
|
||||||
|
var reticleUpdateRateLimiterTimer = false;
|
||||||
|
var RETICLE_UPDATE_RATE_LIMITER_TIMER_MS = 75;
|
||||||
function mouseMoveEvent(event) {
|
function mouseMoveEvent(event) {
|
||||||
|
if (!reticleUpdateRateLimiterTimer) {
|
||||||
|
reticleUpdateRateLimiterTimer = Script.setTimeout(function() {
|
||||||
|
reticleUpdateRateLimiterTimer = false;
|
||||||
|
}, RETICLE_UPDATE_RATE_LIMITER_TIMER_MS);
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
var pickRay = Camera.computePickRay(event.x, event.y);
|
var pickRay = Camera.computePickRay(event.x, event.y);
|
||||||
var avatarIntersectionData = AvatarManager.findRayIntersection(pickRay);
|
var avatarIntersectionData = AvatarManager.findRayIntersection(pickRay);
|
||||||
var entityIntersectionData = Entities.findRayIntersection(pickRay, true);
|
var entityIntersectionData = Entities.findRayIntersection(pickRay, true);
|
||||||
|
@ -248,6 +259,13 @@ function triggerReactionWrapper(reaction) {
|
||||||
MyAvatar.triggerReaction(reaction);
|
MyAvatar.triggerReaction(reaction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function maybeClearReticleUpdateLimiterTimeout() {
|
||||||
|
if (reticleUpdateRateLimiterTimer) {
|
||||||
|
Script.clearTimeout(reticleUpdateRateLimiterTimer);
|
||||||
|
reticleUpdateRateLimiterTimer = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function endReactionWrapper(reaction) {
|
function endReactionWrapper(reaction) {
|
||||||
var reactionsBegunIndex = reactionsBegun.indexOf(reaction);
|
var reactionsBegunIndex = reactionsBegun.indexOf(reaction);
|
||||||
|
@ -268,6 +286,7 @@ function endReactionWrapper(reaction) {
|
||||||
Controller.mouseMoveEvent.disconnect(mouseMoveEvent);
|
Controller.mouseMoveEvent.disconnect(mouseMoveEvent);
|
||||||
mouseMoveEventsConnected = false;
|
mouseMoveEventsConnected = false;
|
||||||
}
|
}
|
||||||
|
maybeClearReticleUpdateLimiterTimeout();
|
||||||
intersectedEntityOrAvatarID = null;
|
intersectedEntityOrAvatarID = null;
|
||||||
deleteOldReticles();
|
deleteOldReticles();
|
||||||
break;
|
break;
|
||||||
|
@ -498,8 +517,13 @@ function shutdown() {
|
||||||
emojiAppWindow.close();
|
emojiAppWindow.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reactionsBegun.forEach(function(react) {
|
||||||
|
endReactionWrapper(react);
|
||||||
|
});
|
||||||
|
|
||||||
emojiAPI.unload();
|
emojiAPI.unload();
|
||||||
maybeClearClapSoundInterval();
|
maybeClearClapSoundInterval();
|
||||||
|
maybeClearReticleUpdateLimiterTimeout();
|
||||||
|
|
||||||
Window.geometryChanged.disconnect(onGeometryChanged);
|
Window.geometryChanged.disconnect(onGeometryChanged);
|
||||||
Settings.valueChanged.disconnect(onSettingsValueChanged);
|
Settings.valueChanged.disconnect(onSettingsValueChanged);
|
||||||
|
|
Loading…
Reference in a new issue