mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-02-08 03:19:49 +00:00
Resize indices on project resize
This commit is contained in:
parent
33b76d334f
commit
ca5c6d811e
|
@ -980,14 +980,18 @@ func undo_or_redo(
|
||||||
]
|
]
|
||||||
):
|
):
|
||||||
if layer_index > -1 and frame_index > -1:
|
if layer_index > -1 and frame_index > -1:
|
||||||
canvas.update_texture(layer_index, frame_index, project)
|
|
||||||
var cel := project.frames[frame_index].cels[layer_index]
|
var cel := project.frames[frame_index].cels[layer_index]
|
||||||
|
if action_name == "Scale":
|
||||||
|
cel.size_changed(project.size)
|
||||||
|
canvas.update_texture(layer_index, frame_index, project)
|
||||||
cel.on_undo_redo(undo)
|
cel.on_undo_redo(undo)
|
||||||
else:
|
else:
|
||||||
for i in project.frames.size():
|
for i in project.frames.size():
|
||||||
for j in project.layers.size():
|
for j in project.layers.size():
|
||||||
canvas.update_texture(j, i, project)
|
|
||||||
var cel := project.frames[i].cels[j]
|
var cel := project.frames[i].cels[j]
|
||||||
|
if action_name == "Scale":
|
||||||
|
cel.size_changed(project.size)
|
||||||
|
canvas.update_texture(j, i, project)
|
||||||
cel.on_undo_redo(undo)
|
cel.on_undo_redo(undo)
|
||||||
|
|
||||||
canvas.selection.queue_redraw()
|
canvas.selection.queue_redraw()
|
||||||
|
@ -995,9 +999,7 @@ func undo_or_redo(
|
||||||
for i in project.frames.size():
|
for i in project.frames.size():
|
||||||
for j in project.layers.size():
|
for j in project.layers.size():
|
||||||
var current_cel := project.frames[i].cels[j]
|
var current_cel := project.frames[i].cels[j]
|
||||||
if current_cel is Cel3D:
|
if current_cel is not Cel3D:
|
||||||
current_cel.size_changed(project.size)
|
|
||||||
else:
|
|
||||||
current_cel.image_texture.set_image(current_cel.get_image())
|
current_cel.image_texture.set_image(current_cel.get_image())
|
||||||
canvas.camera_zoom()
|
canvas.camera_zoom()
|
||||||
canvas.grid.queue_redraw()
|
canvas.grid.queue_redraw()
|
||||||
|
|
|
@ -96,6 +96,10 @@ func deserialize(dict: Dictionary) -> void:
|
||||||
user_data = dict.get("user_data", user_data)
|
user_data = dict.get("user_data", user_data)
|
||||||
|
|
||||||
|
|
||||||
|
func size_changed(_new_size: Vector2i) -> void:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
## Used to perform cleanup after a cel is removed.
|
## Used to perform cleanup after a cel is removed.
|
||||||
func on_remove() -> void:
|
func on_remove() -> void:
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -238,6 +238,13 @@ func update_texture() -> void:
|
||||||
super.update_texture()
|
super.update_texture()
|
||||||
|
|
||||||
|
|
||||||
|
func size_changed(new_size: Vector2i) -> void:
|
||||||
|
indices_x = ceili(float(new_size.x) / tileset.tile_size.x)
|
||||||
|
indices_y = ceili(float(new_size.y) / tileset.tile_size.y)
|
||||||
|
indices.resize(indices_x * indices_y)
|
||||||
|
re_index_all_tiles()
|
||||||
|
|
||||||
|
|
||||||
func on_undo_redo(undo: bool) -> void:
|
func on_undo_redo(undo: bool) -> void:
|
||||||
update_tileset(undo)
|
update_tileset(undo)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue