Ver código fonte

4.0 fix atlas texture return null

boruok 4 anos atrás
pai
commit
2cc2adedaa
2 arquivos alterados com 10 adições e 0 exclusões
  1. 8 0
      scene/resources/texture.cpp
  2. 2 0
      scene/resources/texture.h

+ 8 - 0
scene/resources/texture.cpp

@@ -1272,6 +1272,14 @@ bool AtlasTexture::is_pixel_opaque(int p_x, int p_y) const {
 	return atlas->is_pixel_opaque(x, y);
 	return atlas->is_pixel_opaque(x, y);
 }
 }
 
 
+Ref<Image> AtlasTexture::get_image() const {
+	if (!atlas.is_valid()) {
+		return Ref<Image>();
+	}
+
+	return atlas->get_image()->get_rect(region);
+}
+
 AtlasTexture::AtlasTexture() {}
 AtlasTexture::AtlasTexture() {}
 
 
 /////////////////////////////////////////
 /////////////////////////////////////////

+ 2 - 0
scene/resources/texture.h

@@ -252,6 +252,8 @@ public:
 
 
 	bool is_pixel_opaque(int p_x, int p_y) const override;
 	bool is_pixel_opaque(int p_x, int p_y) const override;
 
 
+	virtual Ref<Image> get_image() const override;
+
 	AtlasTexture();
 	AtlasTexture();
 };
 };