mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 14:03:55 +02:00
reset targets once they have stopped moving
This commit is contained in:
parent
6265563084
commit
47471e837f
3 changed files with 31 additions and 21 deletions
|
@ -16,8 +16,9 @@ var scriptURL = Script.resolvePath('wallTarget.js');
|
|||
|
||||
var MODEL_URL = 'http://hifi-public.s3.amazonaws.com/models/ping_pong_gun/target.fbx';
|
||||
var COLLISION_HULL_URL = 'http://hifi-public.s3.amazonaws.com/models/ping_pong_gun/target_collision_hull.obj';
|
||||
var MINIMUM_MOVE_LENGTH = 0.05;
|
||||
var RESET_DISTANCE = 0.5;
|
||||
|
||||
var RESET_DISTANCE = 1;
|
||||
var TARGET_USER_DATA_KEY = 'hifi-ping_pong_target';
|
||||
var NUMBER_OF_TARGETS = 6;
|
||||
var TARGETS_PER_ROW = 3;
|
||||
|
@ -60,6 +61,8 @@ var targets = [];
|
|||
|
||||
var originalPositions = [];
|
||||
|
||||
var lastPositions = [];
|
||||
|
||||
function addTargets() {
|
||||
var i;
|
||||
var row = -1;
|
||||
|
@ -77,6 +80,7 @@ function addTargets() {
|
|||
position.y = startPosition.y - (row * VERTICAL_SPACING);
|
||||
|
||||
originalPositions.push(position);
|
||||
lastPositions.push(position);
|
||||
|
||||
var targetProperties = {
|
||||
name: 'Target',
|
||||
|
@ -103,7 +107,11 @@ function testTargetDistanceFromStart() {
|
|||
var distance = Vec3.subtract(originalPosition, currentPosition);
|
||||
var length = Vec3.length(distance);
|
||||
|
||||
if (length > RESET_DISTANCE) {
|
||||
var moving = Vec3.length(Vec3.subtract(currentPosition, lastPositions[index]));
|
||||
|
||||
lastPositions[index] = currentPosition;
|
||||
|
||||
if (length > RESET_DISTANCE && moving<MINIMUM_MOVE_LENGTH) {
|
||||
|
||||
Entities.deleteEntity(target);
|
||||
|
||||
|
@ -121,6 +129,7 @@ function testTargetDistanceFromStart() {
|
|||
};
|
||||
|
||||
targets[index] = Entities.addEntity(targetProperties);
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -142,7 +151,7 @@ function deleteTargets() {
|
|||
}
|
||||
|
||||
Entities.deletingEntity.connect(deleteEntity);
|
||||
var distanceCheckInterval = Script.setInterval(testTargetDistanceFromStart, 1000);
|
||||
var distanceCheckInterval = Script.setInterval(testTargetDistanceFromStart, 500);
|
||||
|
||||
addTargets();
|
||||
|
||||
|
|
|
@ -421,6 +421,8 @@
|
|||
|
||||
var originalPositions = [];
|
||||
|
||||
var lastPositions = [];
|
||||
|
||||
function addTargets() {
|
||||
var i;
|
||||
var row = -1;
|
||||
|
@ -468,7 +470,11 @@
|
|||
var distance = Vec3.subtract(originalPosition, currentPosition);
|
||||
var length = Vec3.length(distance);
|
||||
|
||||
if (length > RESET_DISTANCE) {
|
||||
var moving = Vec3.length(Vec3.subtract(currentPosition, lastPositions[index]));
|
||||
|
||||
lastPositions[index] = currentPosition;
|
||||
|
||||
if (length > RESET_DISTANCE && moving < MINIMUM_MOVE_LENGTH) {
|
||||
|
||||
Entities.deleteEntity(target);
|
||||
|
||||
|
@ -482,15 +488,10 @@
|
|||
compoundShapeURL: COLLISION_HULL_URL,
|
||||
position: originalPositions[index],
|
||||
rotation: rotation,
|
||||
script: targetsScriptURL,
|
||||
userData: JSON.stringify({
|
||||
resetMe: {
|
||||
resetMe: true
|
||||
}
|
||||
})
|
||||
script: scriptURL
|
||||
};
|
||||
var target = Entities.addEntity(targetProperties);
|
||||
targets[index] = target;
|
||||
|
||||
targets[index] = Entities.addEntity(targetProperties);
|
||||
|
||||
}
|
||||
});
|
||||
|
|
|
@ -393,6 +393,7 @@ MasterReset = function() {
|
|||
var targets = [];
|
||||
|
||||
var originalPositions = [];
|
||||
var lastPositions = [];
|
||||
|
||||
function addTargets() {
|
||||
var i;
|
||||
|
@ -441,7 +442,11 @@ MasterReset = function() {
|
|||
var distance = Vec3.subtract(originalPosition, currentPosition);
|
||||
var length = Vec3.length(distance);
|
||||
|
||||
if (length > RESET_DISTANCE) {
|
||||
var moving = Vec3.length(Vec3.subtract(currentPosition, lastPositions[index]));
|
||||
|
||||
lastPositions[index] = currentPosition;
|
||||
|
||||
if (length > RESET_DISTANCE && moving < MINIMUM_MOVE_LENGTH) {
|
||||
|
||||
Entities.deleteEntity(target);
|
||||
|
||||
|
@ -455,15 +460,10 @@ MasterReset = function() {
|
|||
compoundShapeURL: COLLISION_HULL_URL,
|
||||
position: originalPositions[index],
|
||||
rotation: rotation,
|
||||
script: targetsScriptURL,
|
||||
userData: JSON.stringify({
|
||||
resetMe: {
|
||||
resetMe: true
|
||||
}
|
||||
})
|
||||
script: scriptURL
|
||||
};
|
||||
var target = Entities.addEntity(targetProperties);
|
||||
targets[index] = target;
|
||||
|
||||
targets[index] = Entities.addEntity(targetProperties);
|
||||
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue