mirror of
https://github.com/tiennm99/godot.git
synced 2026-08-06 06:24:01 +00:00
TileMap: Set texture_filter and texture_repeat to generated CanvasItems and update when it changes
This commit is contained in:
committed by
Mateo Kuruk Miccino
parent
e49d25bac0
commit
bb7db2138b
@@ -412,6 +412,9 @@ void TileMap::update_dirty_quadrants() {
|
||||
vs->canvas_item_set_light_mask(canvas_item, get_light_mask());
|
||||
vs->canvas_item_set_z_index(canvas_item, z_index);
|
||||
|
||||
vs->canvas_item_set_default_texture_filter(canvas_item, RS::CanvasItemTextureFilter(CanvasItem::get_texture_filter()));
|
||||
vs->canvas_item_set_default_texture_repeat(canvas_item, RS::CanvasItemTextureRepeat(CanvasItem::get_texture_repeat()));
|
||||
|
||||
q.canvas_items.push_back(canvas_item);
|
||||
|
||||
if (debug_shapes) {
|
||||
@@ -1687,6 +1690,28 @@ bool TileMap::get_clip_uv() const {
|
||||
return clip_uv;
|
||||
}
|
||||
|
||||
void TileMap::set_texture_filter(TextureFilter p_texture_filter) {
|
||||
CanvasItem::set_texture_filter(p_texture_filter);
|
||||
for (Map<PosKey, Quadrant>::Element *F = quadrant_map.front(); F; F = F->next()) {
|
||||
Quadrant &q = F->get();
|
||||
for (List<RID>::Element *E = q.canvas_items.front(); E; E = E->next()) {
|
||||
RenderingServer::get_singleton()->canvas_item_set_default_texture_filter(E->get(), RS::CanvasItemTextureFilter(p_texture_filter));
|
||||
_make_quadrant_dirty(F);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TileMap::set_texture_repeat(CanvasItem::TextureRepeat p_texture_repeat) {
|
||||
CanvasItem::set_texture_repeat(p_texture_repeat);
|
||||
for (Map<PosKey, Quadrant>::Element *F = quadrant_map.front(); F; F = F->next()) {
|
||||
Quadrant &q = F->get();
|
||||
for (List<RID>::Element *E = q.canvas_items.front(); E; E = E->next()) {
|
||||
RenderingServer::get_singleton()->canvas_item_set_default_texture_repeat(E->get(), RS::CanvasItemTextureRepeat(p_texture_repeat));
|
||||
_make_quadrant_dirty(F);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
String TileMap::get_configuration_warning() const {
|
||||
String warning = Node2D::get_configuration_warning();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user