mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-07-23 07:44:11 +02:00
allow action updates from others when we are the simulation owner
This commit is contained in:
parent
919ea5f1a0
commit
3746920655
2 changed files with 4 additions and 12 deletions
|
@ -506,6 +506,7 @@ Grabber.prototype.activateEntity = function(entityID, grabbedProperties) {
|
||||||
if (data["refCount"] == 1) {
|
if (data["refCount"] == 1) {
|
||||||
data["gravity"] = grabbedProperties.gravity;
|
data["gravity"] = grabbedProperties.gravity;
|
||||||
data["ignoreForCollisions"] = grabbedProperties.ignoreForCollisions;
|
data["ignoreForCollisions"] = grabbedProperties.ignoreForCollisions;
|
||||||
|
data["collisionsWillMove"] = grabbedProperties.collisionsWillMove;
|
||||||
var whileHeldProperties = {gravity: {x:0, y:0, z:0}};
|
var whileHeldProperties = {gravity: {x:0, y:0, z:0}};
|
||||||
if (invertSolidWhileHeld) {
|
if (invertSolidWhileHeld) {
|
||||||
whileHeldProperties["ignoreForCollisions"] = ! grabbedProperties.ignoreForCollisions;
|
whileHeldProperties["ignoreForCollisions"] = ! grabbedProperties.ignoreForCollisions;
|
||||||
|
@ -522,7 +523,8 @@ Grabber.prototype.deactivateEntity = function(entityID) {
|
||||||
if (data["refCount"] < 1) {
|
if (data["refCount"] < 1) {
|
||||||
Entities.editEntity(entityID, {
|
Entities.editEntity(entityID, {
|
||||||
gravity: data["gravity"],
|
gravity: data["gravity"],
|
||||||
ignoreForCollisions: data["ignoreForCollisions"]
|
ignoreForCollisions: data["ignoreForCollisions"],
|
||||||
|
collisionsWillMove: data["collisionsWillMove"]
|
||||||
});
|
});
|
||||||
data = null;
|
data = null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -707,17 +707,7 @@ int EntityItem::readEntityDataFromBuffer(const unsigned char* data, int bytesLef
|
||||||
READ_ENTITY_PROPERTY(PROP_COLLISION_SOUND_URL, QString, setCollisionSoundURL);
|
READ_ENTITY_PROPERTY(PROP_COLLISION_SOUND_URL, QString, setCollisionSoundURL);
|
||||||
READ_ENTITY_PROPERTY(PROP_HREF, QString, setHref);
|
READ_ENTITY_PROPERTY(PROP_HREF, QString, setHref);
|
||||||
READ_ENTITY_PROPERTY(PROP_DESCRIPTION, QString, setDescription);
|
READ_ENTITY_PROPERTY(PROP_DESCRIPTION, QString, setDescription);
|
||||||
|
READ_ENTITY_PROPERTY(PROP_ACTION_DATA, QByteArray, setActionData);
|
||||||
{ // When we own the simulation we don't accept updates to the entity's actions
|
|
||||||
// but since we're using macros below we have to temporarily modify overwriteLocalData.
|
|
||||||
// NOTE: this prevents userB from adding an action to an object1 when UserA
|
|
||||||
// has simulation ownership of it.
|
|
||||||
// TODO: figure out how to allow multiple users to update actions simultaneously
|
|
||||||
bool oldOverwrite = overwriteLocalData;
|
|
||||||
overwriteLocalData = overwriteLocalData && !weOwnSimulation;
|
|
||||||
READ_ENTITY_PROPERTY(PROP_ACTION_DATA, QByteArray, setActionData);
|
|
||||||
overwriteLocalData = oldOverwrite;
|
|
||||||
}
|
|
||||||
|
|
||||||
bytesRead += readEntitySubclassDataFromBuffer(dataAt, (bytesLeftToRead - bytesRead), args,
|
bytesRead += readEntitySubclassDataFromBuffer(dataAt, (bytesLeftToRead - bytesRead), args,
|
||||||
propertyFlags, overwriteLocalData, somethingChanged);
|
propertyFlags, overwriteLocalData, somethingChanged);
|
||||||
|
|
Loading…
Reference in a new issue