put back entity signals for scripts

This commit is contained in:
SamGondelman 2017-10-12 17:28:00 -07:00
parent dacd48862f
commit cc8ecdc596
2 changed files with 9 additions and 8 deletions

View file

@ -96,6 +96,8 @@ void EntityTreeRenderer::resetEntitiesScriptEngine() {
});
connect(entityScriptingInterface.data(), &EntityScriptingInterface::mouseMoveOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
_entitiesScriptEngine->callEntityScriptMethod(entityID, "mouseMoveOnEntity", event);
// FIXME: this is a duplicate of mouseMoveOnEntity, but it seems like some scripts might use this naming
_entitiesScriptEngine->callEntityScriptMethod(entityID, "mouseMoveEvent", event);
});
connect(entityScriptingInterface.data(), &EntityScriptingInterface::mouseReleaseOnEntity, _entitiesScriptEngine.data(), [&](const EntityItemID& entityID, const PointerEvent& event) {
_entitiesScriptEngine->callEntityScriptMethod(entityID, "mouseReleaseOnEntity", event);
@ -536,6 +538,7 @@ void EntityTreeRenderer::mousePressEvent(QMouseEvent* event) {
}
PerformanceTimer perfTimer("EntityTreeRenderer::mousePressEvent");
auto entityScriptingInterface = DependencyManager::get<EntityScriptingInterface>();
PickRay ray = _viewState->computePickRay(event->x(), event->y());
RayToEntityIntersectionResult rayPickResult = _getPrevRayPickResultOperator(_mouseRayPickID);
if (rayPickResult.intersects) {
@ -553,7 +556,6 @@ void EntityTreeRenderer::mousePressEvent(QMouseEvent* event) {
toPointerButton(*event), toPointerButtons(*event),
Qt::NoModifier); // TODO -- check for modifier keys?
auto entityScriptingInterface = DependencyManager::get<EntityScriptingInterface>();
emit entityScriptingInterface->mousePressOnEntity(rayPickResult.entityID, pointerEvent);
_currentClickingOnEntityID = rayPickResult.entityID;
@ -565,6 +567,7 @@ void EntityTreeRenderer::mousePressEvent(QMouseEvent* event) {
} else {
// If the user clicks somewhere where there is NO entity at all, we will release focus
QMetaObject::invokeMethod(qApp, "setKeyboardFocusEntity", Qt::DirectConnection, Q_ARG(EntityItemID, UNKNOWN_ENTITY_ID));
emit entityScriptingInterface->mousePressOffEntity();
}
}
@ -576,6 +579,7 @@ void EntityTreeRenderer::mouseDoublePressEvent(QMouseEvent* event) {
}
PerformanceTimer perfTimer("EntityTreeRenderer::mouseDoublePressEvent");
auto entityScriptingInterface = DependencyManager::get<EntityScriptingInterface>();
PickRay ray = _viewState->computePickRay(event->x(), event->y());
RayToEntityIntersectionResult rayPickResult = _getPrevRayPickResultOperator(_mouseRayPickID);
if (rayPickResult.intersects) {
@ -585,7 +589,6 @@ void EntityTreeRenderer::mouseDoublePressEvent(QMouseEvent* event) {
rayPickResult.surfaceNormal, ray.direction,
toPointerButton(*event), toPointerButtons(*event), Qt::NoModifier);
auto entityScriptingInterface = DependencyManager::get<EntityScriptingInterface>();
emit entityScriptingInterface->mouseDoublePressOnEntity(rayPickResult.entityID, pointerEvent);
_currentClickingOnEntityID = rayPickResult.entityID;
@ -593,7 +596,8 @@ void EntityTreeRenderer::mouseDoublePressEvent(QMouseEvent* event) {
_lastPointerEvent = pointerEvent;
_lastPointerEventValid = true;
} else {
emit entityScriptingInterface->mouseDoublePressOffEntity();
}
}
@ -662,11 +666,6 @@ void EntityTreeRenderer::mouseMoveEvent(QMouseEvent* event) {
emit entityScriptingInterface->mouseMoveOnEntity(rayPickResult.entityID, pointerEvent);
// FIXME: this is a duplicate of mouseMoveOnEntity, but it seems like some scripts might use this naming
if (_entitiesScriptEngine) {
_entitiesScriptEngine->callEntityScriptMethod(rayPickResult.entityID, "mouseMoveEvent", pointerEvent);
}
// handle the hover logic...
// if we were previously hovering over an entity, and this new entity is not the same as our previous entity

View file

@ -405,6 +405,8 @@ signals:
void mouseDoublePressOnEntity(const EntityItemID& entityItemID, const PointerEvent& event);
void mouseMoveOnEntity(const EntityItemID& entityItemID, const PointerEvent& event);
void mouseReleaseOnEntity(const EntityItemID& entityItemID, const PointerEvent& event);
void mousePressOffEntity();
void mouseDoublePressOffEntity();
void clickDownOnEntity(const EntityItemID& entityItemID, const PointerEvent& event);
void holdingClickOnEntity(const EntityItemID& entityItemID, const PointerEvent& event);