mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 02:16:51 +02:00
Make entity properties return undefined value after entity is deleted
This commit is contained in:
parent
c812798314
commit
d020114e59
3 changed files with 15 additions and 2 deletions
|
@ -47,7 +47,9 @@ _localRenderAlphaChanged(false),
|
||||||
_defaultSettings(true),
|
_defaultSettings(true),
|
||||||
_naturalDimensions(1.0f, 1.0f, 1.0f),
|
_naturalDimensions(1.0f, 1.0f, 1.0f),
|
||||||
_naturalPosition(0.0f, 0.0f, 0.0f),
|
_naturalPosition(0.0f, 0.0f, 0.0f),
|
||||||
_desiredProperties(desiredProperties)
|
_desiredProperties(desiredProperties),
|
||||||
|
|
||||||
|
_entityFound(false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -321,6 +323,11 @@ QScriptValue EntityItemProperties::copyToScriptValue(QScriptEngine* engine, bool
|
||||||
QScriptValue properties = engine->newObject();
|
QScriptValue properties = engine->newObject();
|
||||||
EntityItemProperties defaultEntityProperties;
|
EntityItemProperties defaultEntityProperties;
|
||||||
|
|
||||||
|
if (!_entityFound) {
|
||||||
|
// Return without setting any default property values so that properties are reported in JavaScript as undefined.
|
||||||
|
return properties;
|
||||||
|
}
|
||||||
|
|
||||||
if (_idSet) {
|
if (_idSet) {
|
||||||
COPY_PROPERTY_TO_QSCRIPTVALUE_GETTER_ALWAYS(id, _id.toString());
|
COPY_PROPERTY_TO_QSCRIPTVALUE_GETTER_ALWAYS(id, _id.toString());
|
||||||
}
|
}
|
||||||
|
|
|
@ -272,6 +272,8 @@ public:
|
||||||
void setJointRotationsDirty() { _jointRotationsSetChanged = true; _jointRotationsChanged = true; }
|
void setJointRotationsDirty() { _jointRotationsSetChanged = true; _jointRotationsChanged = true; }
|
||||||
void setJointTranslationsDirty() { _jointTranslationsSetChanged = true; _jointTranslationsChanged = true; }
|
void setJointTranslationsDirty() { _jointTranslationsSetChanged = true; _jointTranslationsChanged = true; }
|
||||||
|
|
||||||
|
void setEntityFound() { _entityFound = true; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
QString getCollisionMaskAsString() const;
|
QString getCollisionMaskAsString() const;
|
||||||
void setCollisionMaskFromString(const QString& maskString);
|
void setCollisionMaskFromString(const QString& maskString);
|
||||||
|
@ -283,6 +285,8 @@ private:
|
||||||
EntityTypes::EntityType _type;
|
EntityTypes::EntityType _type;
|
||||||
void setType(const QString& typeName) { _type = EntityTypes::getEntityTypeFromName(typeName); }
|
void setType(const QString& typeName) { _type = EntityTypes::getEntityTypeFromName(typeName); }
|
||||||
|
|
||||||
|
bool _entityFound;
|
||||||
|
|
||||||
float _glowLevel;
|
float _glowLevel;
|
||||||
float _localRenderAlpha;
|
float _localRenderAlpha;
|
||||||
bool _glowLevelChanged;
|
bool _glowLevelChanged;
|
||||||
|
|
|
@ -202,11 +202,13 @@ EntityItemProperties EntityScriptingInterface::getEntityProperties(QUuid identit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
results = convertLocationToScriptSemantics(results);
|
||||||
|
results.setEntityFound();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return convertLocationToScriptSemantics(results);
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
QUuid EntityScriptingInterface::editEntity(QUuid id, const EntityItemProperties& scriptSideProperties) {
|
QUuid EntityScriptingInterface::editEntity(QUuid id, const EntityItemProperties& scriptSideProperties) {
|
||||||
|
|
Loading…
Reference in a new issue