From 129885ddfca3aa0b0bdf3e7d86e00e66a7b206f5 Mon Sep 17 00:00:00 2001 From: OverloadedOrama <35376950+OverloadedOrama@users.noreply.github.com> Date: Mon, 30 Dec 2019 22:05:09 +0200 Subject: [PATCH] Cloning layers now adds "(copy") to the layer name So if you clone "Layer 0", the cloned layer's name will be "Layer 0 (copy)" --- Scripts/Canvas.gd | 12 ++++++------ Scripts/Main.gd | 7 +++++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Scripts/Canvas.gd b/Scripts/Canvas.gd index 4e04a1667..5f57ec319 100644 --- a/Scripts/Canvas.gd +++ b/Scripts/Canvas.gd @@ -31,7 +31,7 @@ var line_2d : Line2D func _ready() -> void: Global.can_draw = false - #The sprite itself + # The sprite itself if layers.empty(): var sprite := Image.new() sprite.create(size.x, size.y, false, Image.FORMAT_RGBA8) @@ -40,7 +40,7 @@ func _ready() -> void: var tex := ImageTexture.new() tex.create_from_image(sprite, 0) - #Store [Image, ImageTexture, Layer Name, Visibity boolean, Opacity] + # Store [Image, ImageTexture, Layer Name, Visibity boolean, Opacity] layers.append([sprite, tex, "Layer 0", true, 1]) generate_layer_panels() @@ -56,12 +56,12 @@ func _ready() -> void: frame_texture_rect = Global.find_node_by_name(frame_button, "FrameTexture") frame_texture_rect.texture = layers[0][1] #ImageTexture current_layer_index - #Only handle camera zoom settings & offset on the first frame + # Only handle camera zoom settings & offset on the first frame if Global.canvases[0] == self: camera_zoom() func camera_zoom() -> void: - #Set camera zoom based on the sprite size + # Set camera zoom based on the sprite size var bigger = max(size.x, size.y) var zoom_max := Vector2(bigger, bigger) * 0.01 if zoom_max > Vector2.ONE: @@ -78,7 +78,7 @@ func camera_zoom() -> void: Global.camera_preview.zoom = Vector2(bigger, bigger) * 0.007 Global.zoom_level_label.text = str(round(100 / Global.camera.zoom.x)) + " %" - #Set camera offset to the center of canvas + # Set camera offset to the center of canvas Global.camera.offset = size / 2 Global.camera2.offset = size / 2 Global.camera_preview.offset = size / 2 @@ -504,7 +504,7 @@ func generate_layer_panels() -> void: for i in range(layers.size() -1, -1, -1): var layer_container = load("res://Prefabs/LayerContainer.tscn").instance() if !layers[i][2]: - layers[i][2] = "Layer %s" % i + layers[i][2] = tr("Layer") + " %s" % i layer_container.i = i layer_container.get_child(1).get_child(0).texture = layers[i][1] layer_container.get_child(1).get_child(1).text = layers[i][2] diff --git a/Scripts/Main.gd b/Scripts/Main.gd index 02ef7e4fb..87d23b6f1 100644 --- a/Scripts/Main.gd +++ b/Scripts/Main.gd @@ -616,16 +616,19 @@ func _on_RightBrushSizeEdit_value_changed(value) -> void: func add_layer(is_new := true) -> void: var new_layer := Image.new() + var layer_name = null if is_new: new_layer.create(Global.canvas.size.x, Global.canvas.size.y, false, Image.FORMAT_RGBA8) - else: #clone layer + else: # clone layer new_layer.copy_from(Global.canvas.layers[Global.canvas.current_layer_index][0]) + layer_name = Global.canvas.layers[Global.canvas.current_layer_index][2] + " (" + tr("copy") + ")" new_layer.lock() var new_layer_tex := ImageTexture.new() new_layer_tex.create_from_image(new_layer, 0) var new_layers: Array = Global.canvas.layers.duplicate() - new_layers.append([new_layer, new_layer_tex, null, true, 1]) + # Store [Image, ImageTexture, Layer Name, Visibity boolean, Opacity] + new_layers.append([new_layer, new_layer_tex, layer_name, true, 1]) Global.undos += 1 Global.undo_redo.create_action("Add Layer") Global.undo_redo.add_do_property(Global.canvas, "layers", new_layers)