mirror of
https://github.com/Orama-Interactive/Pixelorama.git
synced 2025-01-31 07:29:49 +00:00
778c86183f
The first time the link button get pressed, the currently selected cel is being linked. In futue commits, new frames will be linked on layers where the link button is pressed.
71 lines
3 KiB
GDScript
71 lines
3 KiB
GDScript
class_name LayerContainer
|
|
extends Button
|
|
|
|
var i := 0
|
|
var visibility_button : BaseButton
|
|
var lock_button : BaseButton
|
|
var linked_button : BaseButton
|
|
var label : Label
|
|
var line_edit : LineEdit
|
|
|
|
func _ready() -> void:
|
|
visibility_button = Global.find_node_by_name(self, "VisibilityButton")
|
|
lock_button = Global.find_node_by_name(self, "LockButton")
|
|
linked_button = Global.find_node_by_name(self, "LinkButton")
|
|
label = Global.find_node_by_name(self, "Label")
|
|
line_edit = Global.find_node_by_name(self, "LineEdit")
|
|
|
|
if Global.layers[i][1]:
|
|
visibility_button.texture_normal = load("res://Assets/Graphics/%s Themes/Layers/Layer_Visible.png" % Global.theme_type)
|
|
visibility_button.texture_hover = load("res://Assets/Graphics/%s Themes/Layers/Layer_Visible_Hover.png" % Global.theme_type)
|
|
else:
|
|
visibility_button.texture_normal = load("res://Assets/Graphics/%s Themes/Layers/Layer_Invisible.png" % Global.theme_type)
|
|
visibility_button.texture_hover = load("res://Assets/Graphics/%s Themes/Layers/Layer_Invisible_Hover.png" % Global.theme_type)
|
|
|
|
if Global.layers[i][2]:
|
|
lock_button.texture_normal = load("res://Assets/Graphics/%s Themes/Layers/Lock.png" % Global.theme_type)
|
|
lock_button.texture_hover = load("res://Assets/Graphics/%s Themes/Layers/Lock_Hover.png" % Global.theme_type)
|
|
else:
|
|
lock_button.texture_normal = load("res://Assets/Graphics/%s Themes/Layers/Unlock.png" % Global.theme_type)
|
|
lock_button.texture_hover = load("res://Assets/Graphics/%s Themes/Layers/Unlock_Hover.png" % Global.theme_type)
|
|
|
|
if Global.layers[i][4]: # If new layers will be linked
|
|
linked_button.texture_normal = load("res://Assets/Graphics/%s Themes/Layers/Linked_Layer.png" % Global.theme_type)
|
|
linked_button.texture_hover = load("res://Assets/Graphics/%s Themes/Layers/Linked_Layer_Hover.png" % Global.theme_type)
|
|
else:
|
|
linked_button.texture_normal = load("res://Assets/Graphics/%s Themes/Layers/Unlinked_Layer.png" % Global.theme_type)
|
|
linked_button.texture_hover = load("res://Assets/Graphics/%s Themes/Layers/Unlinked_Layer_Hover.png" % Global.theme_type)
|
|
|
|
func _input(event : InputEvent) -> void:
|
|
if (event.is_action_released("ui_accept") or event.is_action_released("ui_cancel")) and line_edit.visible and event.scancode != KEY_SPACE:
|
|
save_layer_name(line_edit.text)
|
|
|
|
func _on_LayerContainer_pressed() -> void:
|
|
pressed = !pressed
|
|
label.visible = false
|
|
line_edit.visible = true
|
|
line_edit.editable = true
|
|
line_edit.grab_focus()
|
|
|
|
func _on_LineEdit_focus_exited() -> void:
|
|
save_layer_name(line_edit.text)
|
|
|
|
func save_layer_name(new_name : String) -> void:
|
|
label.visible = true
|
|
line_edit.visible = false
|
|
line_edit.editable = false
|
|
label.text = new_name
|
|
Global.layers[i][0] = new_name
|
|
|
|
func _on_VisibilityButton_pressed() -> void:
|
|
Global.layers[i][1] = !Global.layers[i][1]
|
|
Global.canvas.update()
|
|
|
|
func _on_LockButton_pressed() -> void:
|
|
Global.layers[i][2] = !Global.layers[i][2]
|
|
|
|
func _on_LinkButton_pressed() -> void:
|
|
Global.layers[i][4] = !Global.layers[i][4]
|
|
if !Global.layers[i][5]:
|
|
Global.layers[i][5].append(Global.current_frame)
|