TileMap: Respect self_modulate property

Now `TileMap`s make use of the `self_modulate` property.

There's still a bug: The Editor doesn't re-draw with the new color when you change the TileMaps `self_modulate`
in the inspector. You'll have to make it update manually (by placing a tile, changing the transform, etc..)
I'll open an issue for that after this is merged (If I don't fix it in the meantime ^^).
This commit is contained in:
Andreas Haas 2017-03-05 11:39:00 +01:00
parent 94103c0c02
commit 962243f931
No known key found for this signature in database
GPG Key ID: B5FFAE1B65FBD2E1
1 changed files with 3 additions and 0 deletions

View File

@ -458,6 +458,9 @@ void TileMap::_update_dirty_quadrants() {
Color modulate = tile_set->tile_get_modulate(c.id); Color modulate = tile_set->tile_get_modulate(c.id);
Color self_modulate = get_self_modulate();
modulate = Color(modulate.r*self_modulate.r, modulate.g*self_modulate.g,
modulate.b*self_modulate.b, modulate.a*self_modulate.a);
if (r==Rect2()) { if (r==Rect2()) {
tex->draw_rect(canvas_item,rect,false,modulate,c.transpose); tex->draw_rect(canvas_item,rect,false,modulate,c.transpose);
} else { } else {