History

local entities are always collisionless

SamGondelman committed 8 years ago

Commit 8dbb2d81 parent 079d1dc2 files · +16 −2Browse files

Showing the changes to libraries/entities/src/EntityScriptingInterface.cpp (1 of 2 files). Show all

Unified · Split

libraries/entities/src/EntityScriptingInterface.cpp+9−1
@@ -482,6 +482,10 @@ QUuid EntityScriptingInterface::addEntity(const EntityItemProperties& properties · 481 unmodified lines
482482 propertiesWithSimID.setEntityHostFromString(entityHostString);
483483 if (propertiesWithSimID.getEntityHost() == EntityHost::AVATAR_ENTITY) {
484484 propertiesWithSimID.setOwningAvatarID(sessionID);
485+ } else if (propertiesWithSimID.getEntityHost() == EntityHost::LOCAL_ENTITY) {
486+ // For now, local entities are always collisionless
487+ // TODO: create a separate, local physics simulation that just handles local entities (and MyAvatar?)
488+ propertiesWithSimID.setCollisionless(true);
485489 }
486490
487491 propertiesWithSimID.setLastEditedBy(sessionID);
@@ -834,7 +838,11 @@ QUuid EntityScriptingInterface::editEntity(QUuid id, const EntityItemProperties& · 346 unmodified lines
834838 }
835839
836840 // set these to make EntityItemProperties::getScalesWithParent() work correctly
837− properties.setEntityHost(entity->getEntityHost());
841+ EntityHost entityHost = entity->getEntityHost();
842+ properties.setEntityHost(entityHost);
843+ if (entityHost == EntityHost::LOCAL_ENTITY) {
844+ properties.setCollisionless(true);
845+ }
838846 properties.setOwningAvatarID(entity->getOwningAvatarID());
839847
840848 // make sure the properties has a type, so that the encode can know which properties to include