Browse Source

Fixed tile map remove layer node bug.

aster2013 11 years ago
parent
commit
33f5612c30
2 changed files with 12 additions and 0 deletions
  1. 9 0
      Source/Engine/Urho2D/TileMap2D.cpp
  2. 3 0
      Source/Engine/Urho2D/TileMap2D.h

+ 9 - 0
Source/Engine/Urho2D/TileMap2D.cpp

@@ -170,4 +170,13 @@ ResourceRef TileMap2D::GetTmxFileAttr() const
     return GetResourceRef(tmxFile_, TmxFile2D::GetTypeStatic());
     return GetResourceRef(tmxFile_, TmxFile2D::GetTypeStatic());
 }
 }
 
 
+void TileMap2D::OnNodeSet(Node* node)
+{
+    if (!node)
+    {
+        for (unsigned i = 0; i < layers_.Size(); ++i)
+            layers_[i]->GetNode()->Remove();
+    }
+}
+
 }
 }

+ 3 - 0
Source/Engine/Urho2D/TileMap2D.h

@@ -71,6 +71,9 @@ public:
     ResourceRef GetTmxFileAttr() const;
     ResourceRef GetTmxFileAttr() const;
 
 
 private:
 private:
+    /// Handle node being assigned.
+    virtual void OnNodeSet(Node* node);
+
     /// Tmx file.
     /// Tmx file.
     SharedPtr<TmxFile2D> tmxFile_;
     SharedPtr<TmxFile2D> tmxFile_;
     /// Tile map information.
     /// Tile map information.