void Update()
{
bool foundTooClose = false;
bool foundCalibrated = false;
foreach(int userId in allUsers) {
Vector3 com = GetUserCenterOfMass(userId);
float distance = -com.z / 1000f;
if (distance < UserTooCloseDistance) {
if (!isTooClose) {
SendMessage("UserTooClose",SendMessageOptions.DontRequireReceiver);
isTooClose = true;
}
foundTooClose = true;
if (calibratedUsers.Contains(userId)) {
if (!calibratedUserTooClose) {
SendMessage("CalibratedUserTooClose",SendMessageOptions.DontRequireReceiver);
calibratedUserTooClose = true;
}
foundCalibrated = true;
}
}
}
if (!foundTooClose) {
if (isTooClose) {
SendMessage("UserNotTooClose",SendMessageOptions.DontRequireReceiver);
}
isTooClose = false;
}
if (!foundCalibrated) {
if (calibratedUserTooClose) {
SendMessage("CalibratedUserNotTooClose", SendMessageOptions.DontRequireReceiver);
}
calibratedUserTooClose = false;
}
}