mirror of
https://github.com/overte-org/overte.git
synced 2025-04-14 15:47:02 +02:00
improving web surface interaction and tablet hiding
This commit is contained in:
parent
85421cd6ee
commit
1163cbea70
4 changed files with 14 additions and 22 deletions
|
@ -79,15 +79,7 @@ void Overlays::cleanupAllOverlays() {
|
||||||
cleanupOverlaysToDelete();
|
cleanupOverlaysToDelete();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Overlays::init() {
|
void Overlays::init() {}
|
||||||
auto entityScriptingInterface = DependencyManager::get<EntityScriptingInterface>();
|
|
||||||
connect(this, &Overlays::hoverEnterOverlay, entityScriptingInterface.data(), &EntityScriptingInterface::hoverEnterEntity);
|
|
||||||
connect(this, &Overlays::hoverOverOverlay, entityScriptingInterface.data(), &EntityScriptingInterface::hoverOverEntity);
|
|
||||||
connect(this, &Overlays::hoverLeaveOverlay, entityScriptingInterface.data(), &EntityScriptingInterface::hoverLeaveEntity);
|
|
||||||
connect(this, &Overlays::mousePressOnOverlay, entityScriptingInterface.data(), &EntityScriptingInterface::mousePressOnEntity);
|
|
||||||
connect(this, &Overlays::mouseMoveOnOverlay, entityScriptingInterface.data(), &EntityScriptingInterface::mouseMoveOnEntity);
|
|
||||||
connect(this, &Overlays::mouseReleaseOnOverlay, entityScriptingInterface.data(), &EntityScriptingInterface::mouseReleaseOnEntity);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Overlays::update(float deltatime) {
|
void Overlays::update(float deltatime) {
|
||||||
cleanupOverlaysToDelete();
|
cleanupOverlaysToDelete();
|
||||||
|
|
|
@ -86,7 +86,7 @@ EntityTreeRenderer::EntityTreeRenderer(bool wantScripts, AbstractViewStateInterf
|
||||||
auto handlePointerEvent = [&](const QUuid& entityID, const PointerEvent& event) {
|
auto handlePointerEvent = [&](const QUuid& entityID, const PointerEvent& event) {
|
||||||
std::shared_ptr<render::entities::WebEntityRenderer> thisEntity;
|
std::shared_ptr<render::entities::WebEntityRenderer> thisEntity;
|
||||||
auto entity = getEntity(entityID);
|
auto entity = getEntity(entityID);
|
||||||
if (entity && entity->getType() == EntityTypes::Web) {
|
if (entity && entity->isVisible() && entity->getType() == EntityTypes::Web) {
|
||||||
thisEntity = std::static_pointer_cast<render::entities::WebEntityRenderer>(renderableForEntityId(entityID));
|
thisEntity = std::static_pointer_cast<render::entities::WebEntityRenderer>(renderableForEntityId(entityID));
|
||||||
}
|
}
|
||||||
if (thisEntity) {
|
if (thisEntity) {
|
||||||
|
@ -99,7 +99,7 @@ EntityTreeRenderer::EntityTreeRenderer(bool wantScripts, AbstractViewStateInterf
|
||||||
connect(entityScriptingInterface.data(), &EntityScriptingInterface::hoverEnterEntity, this, [&](const QUuid& entityID, const PointerEvent& event) {
|
connect(entityScriptingInterface.data(), &EntityScriptingInterface::hoverEnterEntity, this, [&](const QUuid& entityID, const PointerEvent& event) {
|
||||||
std::shared_ptr<render::entities::WebEntityRenderer> thisEntity;
|
std::shared_ptr<render::entities::WebEntityRenderer> thisEntity;
|
||||||
auto entity = getEntity(entityID);
|
auto entity = getEntity(entityID);
|
||||||
if (entity && entity->getType() == EntityTypes::Web) {
|
if (entity && entity->isVisible() && entity->getType() == EntityTypes::Web) {
|
||||||
thisEntity = std::static_pointer_cast<render::entities::WebEntityRenderer>(renderableForEntityId(entityID));
|
thisEntity = std::static_pointer_cast<render::entities::WebEntityRenderer>(renderableForEntityId(entityID));
|
||||||
}
|
}
|
||||||
if (thisEntity) {
|
if (thisEntity) {
|
||||||
|
@ -110,7 +110,7 @@ EntityTreeRenderer::EntityTreeRenderer(bool wantScripts, AbstractViewStateInterf
|
||||||
connect(entityScriptingInterface.data(), &EntityScriptingInterface::hoverLeaveEntity, this, [&](const QUuid& entityID, const PointerEvent& event) {
|
connect(entityScriptingInterface.data(), &EntityScriptingInterface::hoverLeaveEntity, this, [&](const QUuid& entityID, const PointerEvent& event) {
|
||||||
std::shared_ptr<render::entities::WebEntityRenderer> thisEntity;
|
std::shared_ptr<render::entities::WebEntityRenderer> thisEntity;
|
||||||
auto entity = getEntity(entityID);
|
auto entity = getEntity(entityID);
|
||||||
if (entity && entity->getType() == EntityTypes::Web) {
|
if (entity && entity->isVisible() && entity->getType() == EntityTypes::Web) {
|
||||||
thisEntity = std::static_pointer_cast<render::entities::WebEntityRenderer>(renderableForEntityId(entityID));
|
thisEntity = std::static_pointer_cast<render::entities::WebEntityRenderer>(renderableForEntityId(entityID));
|
||||||
}
|
}
|
||||||
if (thisEntity) {
|
if (thisEntity) {
|
||||||
|
|
|
@ -45,7 +45,8 @@ var OVERLAY_DATA_HMD = {
|
||||||
emissive: true,
|
emissive: true,
|
||||||
drawInFront: true,
|
drawInFront: true,
|
||||||
parentID: MyAvatar.SELF_ID,
|
parentID: MyAvatar.SELF_ID,
|
||||||
parentJointIndex: CAMERA_MATRIX
|
parentJointIndex: CAMERA_MATRIX,
|
||||||
|
ignorePickIntersection: true
|
||||||
};
|
};
|
||||||
|
|
||||||
var AWAY_INTRO = {
|
var AWAY_INTRO = {
|
||||||
|
|
|
@ -137,11 +137,11 @@
|
||||||
UIWebTablet.calculateTabletAttachmentProperties(activeHand, true, tabletProperties);
|
UIWebTablet.calculateTabletAttachmentProperties(activeHand, true, tabletProperties);
|
||||||
}
|
}
|
||||||
tabletProperties.visible = true;
|
tabletProperties.visible = true;
|
||||||
|
tabletProperties.ignorePickIntersection = false;
|
||||||
Overlays.editOverlay(HMD.tabletID, tabletProperties);
|
Overlays.editOverlay(HMD.tabletID, tabletProperties);
|
||||||
Overlays.editOverlay(HMD.homeButtonID, { visible: true });
|
Overlays.editOverlay(HMD.homeButtonID, { visible: true, ignorePickIntersection: false });
|
||||||
Overlays.editOverlay(HMD.homeButtonHighlightID, { visible: true });
|
Overlays.editOverlay(HMD.homeButtonHighlightID, { visible: true, ignorePickIntersection: false });
|
||||||
Overlays.editOverlay(HMD.tabletScreenID, { visible: true });
|
Overlays.editOverlay(HMD.tabletScreenID, { visible: true, ignorePickIntersection: false, maxFPS: 90 });
|
||||||
Overlays.editOverlay(HMD.tabletScreenID, { maxFPS: 90 });
|
|
||||||
updateTabletWidthFromSettings(true);
|
updateTabletWidthFromSettings(true);
|
||||||
}
|
}
|
||||||
gTablet.tabletShown = true;
|
gTablet.tabletShown = true;
|
||||||
|
@ -158,11 +158,10 @@
|
||||||
print("TABLET hide");
|
print("TABLET hide");
|
||||||
}
|
}
|
||||||
|
|
||||||
Overlays.editOverlay(HMD.tabletID, { visible: false });
|
Overlays.editOverlay(HMD.tabletID, { visible: false, ignorePickIntersection: true });
|
||||||
Overlays.editOverlay(HMD.homeButtonID, { visible: false });
|
Overlays.editOverlay(HMD.homeButtonID, { visible: false, ignorePickIntersection: true });
|
||||||
Overlays.editOverlay(HMD.homeButtonHighlightID, { visible: false });
|
Overlays.editOverlay(HMD.homeButtonHighlightID, { visible: false, ignorePickIntersection: true });
|
||||||
Overlays.editOverlay(HMD.tabletScreenID, { visible: false });
|
Overlays.editOverlay(HMD.tabletScreenID, { visible: false, ignorePickIntersection: true, maxFPS: 1 });
|
||||||
Overlays.editOverlay(HMD.tabletScreenID, { maxFPS: 1 });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeTabletUI() {
|
function closeTabletUI() {
|
||||||
|
|
Loading…
Reference in a new issue