Jelajahi Sumber

Add GetTexture function in Drawable2D.[ci skip]

aster2013 11 tahun lalu
induk
melakukan
aa10e2222a

+ 3 - 5
Source/Engine/Urho2D/Drawable2D.cpp

@@ -316,12 +316,10 @@ void Drawable2D::UpdateMaterial()
             pass->SetBlendMode(blendMode_);
     }
     
-    // Update diffuse texture from sprite
-    if (sprite_)
-    {
-        Texture2D* texture = sprite_->GetTexture();
+    // Update diffuse texture
+    Texture2D* texture = GetTexture();
+    if (texture)
         material->SetTexture(TU_DIFFUSE, texture);
-    }
 }
 
 }

+ 2 - 0
Source/Engine/Urho2D/Drawable2D.h

@@ -66,6 +66,8 @@ public:
 
     /// Return sprite.
     Sprite2D* GetSprite() const { return sprite_; }
+    /// Return texture.
+    Texture2D* GetTexture() const { return sprite_ ? sprite_->GetTexture() : 0; }
     /// Return material.
     Material* GetMaterial() const;
     /// Return blend mode.

+ 1 - 4
Source/Engine/Urho2D/ParticleEmitter2D.cpp

@@ -198,10 +198,7 @@ void ParticleEmitter2D::UpdateVertices()
 
     vertices_.Clear();
 
-    if (!sprite_)
-        return;
-
-    Texture2D* texture = sprite_->GetTexture();
+    Texture2D* texture = GetTexture();
     if (!texture)
         return;
 

+ 1 - 4
Source/Engine/Urho2D/StaticSprite2D.cpp

@@ -99,10 +99,7 @@ void StaticSprite2D::UpdateVertices()
 
     vertices_.Clear();
 
-    if (!sprite_)
-        return;
-
-    Texture2D* texture = sprite_->GetTexture();
+    Texture2D* texture = GetTexture();
     if (!texture)
         return;