init
This commit is contained in:
58
addons/ez_tiles/ez_tiles_draw/stamp_tab.gd
Normal file
58
addons/ez_tiles/ez_tiles_draw/stamp_tab.gd
Normal file
@@ -0,0 +1,58 @@
|
||||
@tool
|
||||
extends PanelContainer
|
||||
class_name StampTab
|
||||
|
||||
signal snapshot_toggled(on_off : bool)
|
||||
|
||||
var h_flow_container : HFlowContainer
|
||||
var snapshot_button : Button
|
||||
|
||||
func _enter_tree() -> void:
|
||||
h_flow_container = find_child("HFlowContainer")
|
||||
snapshot_button = find_child("SnapShotSelectButton")
|
||||
for stamp : Stamp in find_children("Stamp*"):
|
||||
stamp.selected.connect(func(): _on_stamp_selected(stamp))
|
||||
|
||||
|
||||
func _on_stamp_selected(selected_stamp : Stamp):
|
||||
snapshot_button.button_pressed = false
|
||||
snapshot_button.focus_mode = Control.FOCUS_NONE
|
||||
for child in h_flow_container.get_children():
|
||||
if is_instance_valid(child) and child != selected_stamp and child is Stamp:
|
||||
child.deselect()
|
||||
snapshot_toggled.emit(false)
|
||||
|
||||
|
||||
func add_stamp(stamp : Stamp):
|
||||
stamp.selected.connect(func(): _on_stamp_selected(stamp))
|
||||
h_flow_container.add_child(stamp)
|
||||
|
||||
|
||||
func get_selected_stamp() -> Stamp:
|
||||
for child in h_flow_container.get_children():
|
||||
if is_instance_valid(child) and child is Stamp and child.is_selected and child.visible:
|
||||
return child
|
||||
return null
|
||||
|
||||
func start_snapshot():
|
||||
snapshot_button.button_pressed = true
|
||||
for child in h_flow_container.get_children():
|
||||
if is_instance_valid(child) and child is Stamp:
|
||||
child.deselect()
|
||||
|
||||
|
||||
func stop_snapshotting():
|
||||
snapshot_button.button_pressed = false
|
||||
|
||||
|
||||
func _on_snap_shot_select_button_toggled(toggled_on: bool) -> void:
|
||||
snapshot_toggled.emit(toggled_on)
|
||||
|
||||
|
||||
func show_stamps_for_tile_map_layer(tml : TileMapLayer) -> void:
|
||||
for child in h_flow_container.get_children():
|
||||
if child is Stamp:
|
||||
if child.tile_map_layer_under_edit == tml:
|
||||
child.show()
|
||||
else:
|
||||
child.hide()
|
||||
Reference in New Issue
Block a user