| 565 | } |
| 566 | |
| 567 | static void OutputGuiDynamicTextures(dmGameObject::SceneNode* node, dmWebServer::Request* request) |
| 568 | { |
| 569 | static const dmhash_t s_PropertyResource = dmHashString64("resource"); |
| 570 | static const dmhash_t s_PropertyType = dmHashString64("type"); |
| 571 | |
| 572 | if (node->m_Type == dmGameObject::SCENE_NODE_TYPE_SUBCOMPONENT) |
| 573 | return; |
| 574 | |
| 575 | dmhash_t resource_id = 0; |
| 576 | dmhash_t type = 0; |
| 577 | dmGameObject::SceneNodePropertyIterator pit = TraverseIterateProperties(node); |
| 578 | while(dmGameObject::TraverseIteratePropertiesNext(&pit)) |
| 579 | { |
| 580 | if (pit.m_Property.m_NameHash == s_PropertyResource) |
| 581 | resource_id = pit.m_Property.m_Value.m_Hash; |
| 582 | else if (pit.m_Property.m_NameHash == s_PropertyType) |
| 583 | type = pit.m_Property.m_Value.m_Hash; |
| 584 | } |
| 585 | |
| 586 | dmGameObject::SceneNodeIterator it = dmGameObject::TraverseIterateChildren(node); |
| 587 | while(dmGameObject::TraverseIterateNext(&it)) |
| 588 | { |
| 589 | OutputGuiDynamicTextures( &it.m_Node, request ); |
| 590 | } |
| 591 | } |
| 592 | |
| 593 | static void HttpResourceRequestCallback(void* context, dmWebServer::Request* request) |
| 594 | { |
no test coverage detected