From c7d544cd58ed047252052aa4dd1fb2fd16afe53e Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Mon, 13 Oct 2014 14:36:06 -0700 Subject: [PATCH] wire up collision signals --- interface/src/Application.cpp | 7 +++++++ libraries/entities/src/EntityCollisionSystem.cpp | 4 ++-- libraries/entities/src/EntityCollisionSystem.h | 4 ++-- libraries/entities/src/EntityScriptingInterface.h | 4 ++++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 5f99dbc4fb..be6b43ac4f 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1851,6 +1851,13 @@ void Application::init() { _entityCollisionSystem.init(&_entityEditSender, _entities.getTree(), _voxels.getTree(), &_audio, &_avatarManager); + // connect the _entityCollisionSystem to our script engine's EntityScriptingInterface + connect(&_entityCollisionSystem, &EntityCollisionSystem::entityCollisionWithVoxel, + ScriptEngine::getEntityScriptingInterface(), &EntityScriptingInterface::entityCollisionWithVoxel); + + connect(&_entityCollisionSystem, &EntityCollisionSystem::entityCollisionWithEntity, + ScriptEngine::getEntityScriptingInterface(), &EntityScriptingInterface::entityCollisionWithEntity); + _entityClipboardRenderer.init(); _entityClipboardRenderer.setViewFrustum(getViewFrustum()); _entityClipboardRenderer.setTree(&_entityClipboard); diff --git a/libraries/entities/src/EntityCollisionSystem.cpp b/libraries/entities/src/EntityCollisionSystem.cpp index 7f987db9ed..903cd430de 100644 --- a/libraries/entities/src/EntityCollisionSystem.cpp +++ b/libraries/entities/src/EntityCollisionSystem.cpp @@ -66,7 +66,7 @@ void EntityCollisionSystem::checkEntity(EntityItem* entity) { void EntityCollisionSystem::emitGlobalEntityCollisionWithVoxel(EntityItem* entity, VoxelDetail* voxelDetails, const CollisionInfo& collision) { EntityItemID entityItemID = entity->getEntityItemID(); - emit EntityCollisionWithVoxel(entityItemID, *voxelDetails, collision); + emit entityCollisionWithVoxel(entityItemID, *voxelDetails, collision); } void EntityCollisionSystem::emitGlobalEntityCollisionWithEntity(EntityItem* entityA, @@ -74,7 +74,7 @@ void EntityCollisionSystem::emitGlobalEntityCollisionWithEntity(EntityItem* enti EntityItemID idA = entityA->getEntityItemID(); EntityItemID idB = entityB->getEntityItemID(); - emit EntityCollisionWithEntity(idA, idB, collision); + emit entityCollisionWithEntity(idA, idB, collision); } void EntityCollisionSystem::updateCollisionWithVoxels(EntityItem* entity) { diff --git a/libraries/entities/src/EntityCollisionSystem.h b/libraries/entities/src/EntityCollisionSystem.h index b2cf7a9df4..4b483122fe 100644 --- a/libraries/entities/src/EntityCollisionSystem.h +++ b/libraries/entities/src/EntityCollisionSystem.h @@ -54,8 +54,8 @@ public: void updateCollisionSound(EntityItem* Entity, const glm::vec3 &penetration, float frequency); signals: - void EntityCollisionWithVoxel(const EntityItemID& entityItemID, const VoxelDetail& voxel, const CollisionInfo& penetration); - void EntityCollisionWithEntity(const EntityItemID& idA, const EntityItemID& idB, const CollisionInfo& penetration); + void entityCollisionWithVoxel(const EntityItemID& entityItemID, const VoxelDetail& voxel, const CollisionInfo& penetration); + void entityCollisionWithEntity(const EntityItemID& idA, const EntityItemID& idB, const CollisionInfo& penetration); private: void applyHardCollision(EntityItem* entity, const CollisionInfo& collisionInfo); diff --git a/libraries/entities/src/EntityScriptingInterface.h b/libraries/entities/src/EntityScriptingInterface.h index 0a79aa87d9..1497b2966e 100644 --- a/libraries/entities/src/EntityScriptingInterface.h +++ b/libraries/entities/src/EntityScriptingInterface.h @@ -97,6 +97,10 @@ public slots: Q_INVOKABLE void dumpTree() const; +signals: + void entityCollisionWithVoxel(const EntityItemID& entityID, const VoxelDetail& voxel, const CollisionInfo& collision); + void entityCollisionWithEntity(const EntityItemID& idA, const EntityItemID& idB, const CollisionInfo& collision); + private: void queueEntityMessage(PacketType packetType, EntityItemID entityID, const EntityItemProperties& properties);