xiandie/scene/ux/note/note_event.gd
2025-07-03 01:40:34 +08:00

48 lines
1.3 KiB
GDScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@tool
class_name HandnoteEvent2D
extends Sprite2D
# 当前事件
@export var event: StringName
@export var hide_if_on_stage: Array[int] = []
@export_tool_button("复制 greater setter") var copy_greater_setter = _copy_greater_setter
@export_tool_button("复制 setter") var copy_setter = _copy_setter
@export_tool_button("复制 getter") var copy_getter = _copy_getter
var stage := 0
func _ready() -> void:
if Engine.is_editor_hint():
return
if event == &"":
printerr("[HandnoteEvent2D] event is not set. continue processing...")
stage = EventManager.get_stage(event)
visible = not stage in hide_if_on_stage
var blot_out_node = get_node_or_null("BlotOut")
if blot_out_node:
# 0 初始化隐藏1 开始显示2 划掉3 结束隐藏
blot_out_node.visible = Engine.is_editor_hint() or stage == 2
###### TOOL BUTTON
func _copy_greater_setter():
var text = 'EventManager.set_stage_if_greater(&"%s", 1)' % event
DisplayServer.clipboard_set(text)
print("Copied event greater setter: %s" % text)
func _copy_setter():
var text = 'EventManager.set_stage(&"%s", 1)' % event
DisplayServer.clipboard_set(text)
print("Copied event setter: %s" % text)
func _copy_getter():
var text = 'EventManager.get_stage(&"%s")' % event
DisplayServer.clipboard_set(text)
print("Copied event getter: %s" % text)