show network and physics status on boxes and spheres

This commit is contained in:
Seth Alves 2015-11-11 11:32:12 -08:00
parent 31ebe5dba1
commit f07d5d9d3f
6 changed files with 13 additions and 9 deletions

View file

@ -41,7 +41,7 @@ namespace render {
}
}
void makeEntityItemStatusGetters(EntityItem* entity, render::Item::Status::Getters& statusGetters) {
void makeEntityItemStatusGetters(EntityItemPointer entity, render::Item::Status::Getters& statusGetters) {
statusGetters.push_back([entity] () -> render::Item::Status::Value {
quint64 delta = usecTimestampNow() - entity->getLastEditedFromRemote();
const float WAIT_THRESHOLD_INV = 1.0f / (0.2f * USECS_PER_SECOND);

View file

@ -25,6 +25,8 @@ enum class RenderItemStatusIcon {
NONE = 255
};
void makeEntityItemStatusGetters(EntityItemPointer entity, render::Item::Status::Getters& statusGetters);
class RenderableEntityItemProxy {
public:
@ -50,6 +52,10 @@ public:
auto renderData = std::make_shared<RenderableEntityItemProxy>(self);
auto renderPayload = std::make_shared<RenderableEntityItemProxy::Payload>(renderData);
render::Item::Status::Getters statusGetters;
makeEntityItemStatusGetters(self, statusGetters);
renderPayload->addStatusGetters(statusGetters);
pendingChanges.resetItem(_myItem, renderPayload);
return true;
@ -72,6 +78,4 @@ private: \
SimpleRenderableEntityItem _renderHelper;
void makeEntityItemStatusGetters(EntityItem* entity, render::Item::Status::Getters& statusGetters);
#endif // hifi_RenderableEntityItem_h

View file

@ -192,7 +192,7 @@ bool RenderableModelEntityItem::addToScene(EntityItemPointer self, std::shared_p
if (_model) {
render::Item::Status::Getters statusGetters;
makeEntityItemStatusGetters(this, statusGetters);
makeEntityItemStatusGetters(shared_from_this(), statusGetters);
// note: we don't care if the model fails to add items, we always added our meta item and therefore we return
// true so that the system knows our meta item is in the scene!
@ -236,7 +236,7 @@ void RenderableModelEntityItem::render(RenderArgs* args) {
_model->removeFromScene(scene, pendingChanges);
render::Item::Status::Getters statusGetters;
makeEntityItemStatusGetters(this, statusGetters);
makeEntityItemStatusGetters(shared_from_this(), statusGetters);
_model->addToScene(scene, pendingChanges, statusGetters, _showCollisionHull);
scene->enqueuePendingChanges(pendingChanges);

View file

@ -140,7 +140,7 @@ bool RenderableParticleEffectEntityItem::addToScene(EntityItemPointer self,
auto renderData = ParticlePayload::Pointer(particlePayload);
auto renderPayload = render::PayloadPointer(new ParticlePayload::Payload(renderData));
render::Item::Status::Getters statusGetters;
makeEntityItemStatusGetters(this, statusGetters);
makeEntityItemStatusGetters(shared_from_this(), statusGetters);
renderPayload->addStatusGetters(statusGetters);
pendingChanges.resetItem(_renderItemId, renderPayload);
_scene = scene;

View file

@ -550,7 +550,7 @@ bool RenderablePolyVoxEntityItem::addToScene(EntityItemPointer self,
auto renderPayload = std::make_shared<PolyVoxPayload::Payload>(renderData);
render::Item::Status::Getters statusGetters;
makeEntityItemStatusGetters(this, statusGetters);
makeEntityItemStatusGetters(shared_from_this(), statusGetters);
renderPayload->addStatusGetters(statusGetters);
pendingChanges.resetItem(_myItem, renderPayload);

View file

@ -115,7 +115,7 @@ void RenderableZoneEntityItem::render(RenderArgs* args) {
render::PendingChanges pendingChanges;
_model->removeFromScene(scene, pendingChanges);
render::Item::Status::Getters statusGetters;
makeEntityItemStatusGetters(this, statusGetters);
makeEntityItemStatusGetters(shared_from_this(), statusGetters);
_model->addToScene(scene, pendingChanges, false);
scene->enqueuePendingChanges(pendingChanges);
@ -209,7 +209,7 @@ bool RenderableZoneEntityItem::addToScene(EntityItemPointer self, std::shared_pt
auto renderPayload = std::make_shared<RenderableZoneEntityItemMeta::Payload>(renderData);
render::Item::Status::Getters statusGetters;
makeEntityItemStatusGetters(this, statusGetters);
makeEntityItemStatusGetters(shared_from_this(), statusGetters);
renderPayload->addStatusGetters(statusGetters);
pendingChanges.resetItem(_myMetaItem, renderPayload);