mirror of
https://github.com/Relintai/texture_packer.git
synced 2025-03-12 18:39:01 +01:00
Added a new getter.
This commit is contained in:
parent
2b901b0731
commit
604c330188
@ -133,8 +133,12 @@ bool TextureMerger::contains_texture(Ref<Texture> texture) {
|
||||
return _packer->contains_texture(texture);
|
||||
}
|
||||
|
||||
Ref<AtlasTexture> TextureMerger::get_texture(int index) {
|
||||
return _packer->get_texture(index);
|
||||
Ref<AtlasTexture> TextureMerger::get_texture(Ref<Texture> texture) {
|
||||
return _packer->get_texture(texture);
|
||||
}
|
||||
|
||||
Ref<AtlasTexture> TextureMerger::get_texture_index(int index) {
|
||||
return _packer->get_texture_index(index);
|
||||
}
|
||||
|
||||
bool TextureMerger::unref_texture_index(int index) {
|
||||
@ -287,7 +291,8 @@ void TextureMerger::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_packer", "packer"), &TextureMerger::set_packer);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("add_texture", "texture"), &TextureMerger::add_texture);
|
||||
ClassDB::bind_method(D_METHOD("get_texture", "index"), &TextureMerger::get_texture);
|
||||
ClassDB::bind_method(D_METHOD("get_texture", "texture"), &TextureMerger::get_texture);
|
||||
ClassDB::bind_method(D_METHOD("get_texture_index", "index"), &TextureMerger::get_texture_index);
|
||||
ClassDB::bind_method(D_METHOD("get_original_texture", "index"), &TextureMerger::get_original_texture);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("unref_texture_index", "index"), &TextureMerger::unref_texture_index);
|
||||
|
@ -40,7 +40,8 @@ public:
|
||||
void set_textures(const Vector<Variant> &textures);
|
||||
|
||||
Ref<AtlasTexture> add_texture(Ref<Texture> texture);
|
||||
Ref<AtlasTexture> get_texture(int index);
|
||||
Ref<AtlasTexture> get_texture(Ref<Texture> texture);
|
||||
Ref<AtlasTexture> get_texture_index(int index);
|
||||
Ref<Texture> get_original_texture(int index);
|
||||
bool contains_texture(Ref<Texture> texture);
|
||||
|
||||
|
@ -118,18 +118,38 @@ Ref<AtlasTexture> TexturePacker::add_texture(Ref<Texture> texture) {
|
||||
return tex;
|
||||
}
|
||||
|
||||
Ref<AtlasTexture> TexturePacker::get_texture(Ref<Texture> texture) {
|
||||
for (int i = 0; i < _rects.size(); ++i) {
|
||||
rect_xywhf *r = _rects.get(i);
|
||||
|
||||
Ref<Texture> t;
|
||||
Ref<AtlasTexture> at = texture;
|
||||
|
||||
if (_keep_original_atlases && at.is_valid())
|
||||
t = r->atlas_texture;
|
||||
else
|
||||
t = r->original_texture;
|
||||
|
||||
if (t == texture) {
|
||||
return _rects.get(i)->atlas_texture;
|
||||
}
|
||||
}
|
||||
|
||||
return Ref<Texture>();
|
||||
}
|
||||
|
||||
Ref<AtlasTexture> TexturePacker::get_texture_index(int index) {
|
||||
ERR_FAIL_INDEX_V(index, _rects.size(), Ref<AtlasTexture>());
|
||||
|
||||
return _rects.get(index)->atlas_texture;
|
||||
}
|
||||
|
||||
Ref<Texture> TexturePacker::get_original_texture(int index) {
|
||||
ERR_FAIL_INDEX_V(index, _rects.size(), Ref<Texture>());
|
||||
|
||||
return _rects.get(index)->original_texture;
|
||||
}
|
||||
|
||||
Ref<AtlasTexture> TexturePacker::get_texture(int index) {
|
||||
ERR_FAIL_INDEX_V(index, _rects.size(), Ref<AtlasTexture>());
|
||||
|
||||
return _rects.get(index)->atlas_texture;
|
||||
}
|
||||
|
||||
bool TexturePacker::contains_texture(Ref<Texture> texture) {
|
||||
for (int i = 0; i < _rects.size(); ++i) {
|
||||
rect_xywhf *r = _rects.get(i);
|
||||
@ -417,7 +437,10 @@ void TexturePacker::_bind_methods() {
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "margin"), "set_margin", "get_margin");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("add_texture", "texture"), &TexturePacker::add_texture);
|
||||
ClassDB::bind_method(D_METHOD("get_texture", "index"), &TexturePacker::get_texture);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_texture", "texture"), &TexturePacker::get_texture);
|
||||
ClassDB::bind_method(D_METHOD("get_texture_index", "index"), &TexturePacker::get_texture_index);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_original_texture", "index"), &TexturePacker::get_original_texture);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("unref_texture_index", "index"), &TexturePacker::unref_texture_index);
|
||||
|
@ -31,9 +31,13 @@ public:
|
||||
void set_margin(const int margin);
|
||||
|
||||
Ref<AtlasTexture> add_texture(Ref<Texture> texture);
|
||||
Ref<AtlasTexture> get_texture(int index);
|
||||
|
||||
Ref<AtlasTexture> get_texture(Ref<Texture> texture);
|
||||
Ref<AtlasTexture> get_texture_index(int index);
|
||||
|
||||
Ref<Texture> get_original_texture(int index);
|
||||
bool contains_texture(Ref<Texture> texture);
|
||||
|
||||
bool contains_texture(Ref<Texture> texture);
|
||||
|
||||
bool unref_texture_index(int index);
|
||||
bool unref_texture(Ref<Texture> texture);
|
||||
|
Loading…
Reference in New Issue
Block a user