Sfoglia il codice sorgente

Make obstacle seek upwards to find DynamicNavigationMesh

- Also reset ownerMesh on scene change to null to facilitate transfer
between scenes
JSandusky 10 anni fa
parent
commit
9c90ac913d
1 ha cambiato i file con 3 aggiunte e 1 eliminazioni
  1. 3 1
      Source/Urho3D/Navigation/Obstacle.cpp

+ 3 - 1
Source/Urho3D/Navigation/Obstacle.cpp

@@ -96,7 +96,7 @@ void Obstacle::OnSceneSet(Scene* scene)
             return;
         }
         if (!ownerMesh_)
-            ownerMesh_ = scene->GetComponent<DynamicNavigationMesh>();
+            ownerMesh_ = node_->GetParentComponent<DynamicNavigationMesh>();
         if (ownerMesh_)
             ownerMesh_->AddObstacle(this);
     }
@@ -104,6 +104,8 @@ void Obstacle::OnSceneSet(Scene* scene)
     {
         if (obstacleId_ > 0 && ownerMesh_)
             ownerMesh_->RemoveObstacle(this);
+        
+        ownerMesh_.Reset();
     }
 }