Advertisement
Guest User

Untitled

a guest
Jul 16th, 2015
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.96 KB | None | 0 0
  1. void World::FillPortalsWorldWithVisibleObstaclesFrom(World& w)
  2. {
  3.     ResourceCache* cache = context->GetSubsystem<ResourceCache>();
  4.  
  5.     Material* black = cache->GetResource<Material>("Materials/black.xml"); // notexture unlit black mat (for override white portals on screen)
  6.    
  7.     if (black)
  8.     if (w.scene)
  9.     {
  10.         PODVector<Node*> nodes;
  11.         w.scene->GetChildrenWithComponent<StaticModel>(nodes, true);
  12.        
  13.         for (int i = 0; i < nodes.Size(); i++)
  14.         {
  15.             Node* n = nodes[i];
  16.             if (n)
  17.             {
  18.                 StaticModel* model = n->GetComponent<StaticModel>();
  19.                 if (model)
  20.                 {
  21.                     Node* newNode = scene->CreateChild(n->GetName(), LOCAL);
  22.                     StaticModel* newModel = newNode->CreateComponent<StaticModel>();
  23.                     newModel->SetModel(model->GetModel());
  24.                     newModel->SetMaterial(black);
  25.                     newNode->SetWorldPosition(n->GetWorldPosition());
  26.                     newNode->SetWorldRotation(n->GetWorldRotation());
  27.                     newNode->SetWorldScale(n->GetWorldScale());
  28.                 }
  29.  
  30.             }
  31.         }
  32.    
  33.     }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement