mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-14 14:59:34 +02:00
more base class properties work
This commit is contained in:
parent
eda5614a75
commit
55e12baf78
3 changed files with 72 additions and 11 deletions
|
@ -335,10 +335,6 @@ qDebug() << "EntityItem::appendEntityData() ... lastEdited=" << lastEdited;
|
|||
propertiesDidntFit -= PROP_SCRIPT;
|
||||
}
|
||||
|
||||
//appendSubclassData(OctreePacketData* packetData, EncodeBitstreamParams& params,
|
||||
// EntityTreeElementExtraEncodeData* modelTreeElementExtraEncodeData,
|
||||
// int& propertyCount, OctreeElement::AppendState& appendState);
|
||||
|
||||
appendSubclassData(packetData, params, modelTreeElementExtraEncodeData,
|
||||
requestedProperties,
|
||||
propertyFlags,
|
||||
|
@ -543,9 +539,75 @@ int EntityItem::readEntityDataFromBuffer(const unsigned char* data, int bytesLef
|
|||
}
|
||||
}
|
||||
|
||||
// other properties velocit, etc should go here...
|
||||
// PROP_SCRIPT
|
||||
// script would go here...
|
||||
// PROP_MASS,
|
||||
if (propertyFlags.getHasProperty(PROP_MASS)) {
|
||||
float value;
|
||||
memcpy(&value, dataAt, sizeof(value));
|
||||
dataAt += sizeof(value);
|
||||
bytesRead += sizeof(value);
|
||||
if (overwriteLocalData) {
|
||||
_mass = value;
|
||||
}
|
||||
}
|
||||
|
||||
// PROP_VELOCITY,
|
||||
if (propertyFlags.getHasProperty(PROP_VELOCITY)) {
|
||||
glm::vec3 value;
|
||||
memcpy(&value, dataAt, sizeof(value));
|
||||
dataAt += sizeof(value);
|
||||
bytesRead += sizeof(value);
|
||||
if (overwriteLocalData) {
|
||||
_velocity = value;
|
||||
}
|
||||
}
|
||||
|
||||
// PROP_GRAVITY,
|
||||
if (propertyFlags.getHasProperty(PROP_GRAVITY)) {
|
||||
glm::vec3 value;
|
||||
memcpy(&value, dataAt, sizeof(value));
|
||||
dataAt += sizeof(value);
|
||||
bytesRead += sizeof(value);
|
||||
if (overwriteLocalData) {
|
||||
_gravity = value;
|
||||
}
|
||||
}
|
||||
|
||||
// PROP_DAMPING,
|
||||
if (propertyFlags.getHasProperty(PROP_DAMPING)) {
|
||||
float value;
|
||||
memcpy(&value, dataAt, sizeof(value));
|
||||
dataAt += sizeof(value);
|
||||
bytesRead += sizeof(value);
|
||||
if (overwriteLocalData) {
|
||||
_damping = value;
|
||||
}
|
||||
}
|
||||
|
||||
// PROP_LIFETIME,
|
||||
if (propertyFlags.getHasProperty(PROP_LIFETIME)) {
|
||||
float value;
|
||||
memcpy(&value, dataAt, sizeof(value));
|
||||
dataAt += sizeof(value);
|
||||
bytesRead += sizeof(value);
|
||||
if (overwriteLocalData) {
|
||||
_lifetime = value;
|
||||
}
|
||||
}
|
||||
|
||||
// PROP_SCRIPT,
|
||||
if (propertyFlags.getHasProperty(PROP_SCRIPT)) {
|
||||
// TODO: fix to new format...
|
||||
uint16_t length;
|
||||
memcpy(&length, dataAt, sizeof(length));
|
||||
dataAt += sizeof(length);
|
||||
bytesRead += sizeof(length);
|
||||
QString value((const char*)dataAt);
|
||||
dataAt += length;
|
||||
bytesRead += length;
|
||||
if (overwriteLocalData) {
|
||||
setScript(value);
|
||||
}
|
||||
}
|
||||
|
||||
bytesRead += readEntitySubclassDataFromBuffer(dataAt, (bytesLeftToRead - bytesRead), args, propertyFlags, overwriteLocalData);
|
||||
|
||||
|
|
|
@ -156,7 +156,6 @@ qDebug() << "ModelEntityItem::readEntitySubclassDataFromBuffer()... <<<<<<<<<<<<
|
|||
|
||||
// PROP_MODEL_URL
|
||||
if (propertyFlags.getHasProperty(PROP_MODEL_URL)) {
|
||||
|
||||
// TODO: fix to new format...
|
||||
uint16_t modelURLLength;
|
||||
memcpy(&modelURLLength, dataAt, sizeof(modelURLLength));
|
||||
|
|
|
@ -40,9 +40,6 @@ Model properties:
|
|||
// REQUIRED TO DO:
|
||||
|
||||
A) add velocity, gravity, damping to entity base class
|
||||
Aa) handle sublass appendEntityData() and readEntityItemIDFromBuffer() similar to how we
|
||||
handle setProperty()/getProperty() so that each subclass doesn't have to completely reimplement
|
||||
the entire base class data stream...
|
||||
Az) visible???
|
||||
|
||||
|
||||
|
@ -216,5 +213,8 @@ Model properties:
|
|||
// SOLVED - R) move to EntityItemProperties
|
||||
// EntityItem::encodeEntityEditMessageDetails()
|
||||
// EntityTypes::decodeEntityEditPacket()
|
||||
// SOLVED - Aa) handle sublass appendEntityData() and readEntityItemIDFromBuffer() similar to how we
|
||||
// handle setProperty()/getProperty() so that each subclass doesn't have to completely reimplement
|
||||
// the entire base class data stream...
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue