You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.9 KiB

6 months ago
@tool
class_name DialogicCommentEvent
extends DialogicEvent
## Event that does nothing but store a comment string. Will print the comment in debug builds.
### Settings
## Content of the comment.
var text :String = ""
################################################################################
## EXECUTE
################################################################################
func _execute() -> void:
print("[Dialogic Comment] #", text)
finish()
################################################################################
## INITIALIZE
################################################################################
func _init() -> void:
event_name = "Comment"
set_default_color('Color9')
event_category = "Helpers"
event_sorting_index = 0
################################################################################
## SAVING/LOADING
################################################################################
func to_text() -> String:
var result_string = "# "+text
return result_string
func from_text(string:String) -> void:
text = string.trim_prefix("# ")
func is_valid_event(string:String) -> bool:
if string.strip_edges().begins_with('#'):
return true
return false
################################################################################
## EDITOR REPRESENTATION
################################################################################
func build_event_editor():
add_header_edit('text', ValueType.SINGLELINE_TEXT, {'left_text':'#', 'autofocus':true})
#################### SYNTAX HIGHLIGHTING #######################################
################################################################################
func _get_syntax_highlighting(Highlighter:SyntaxHighlighter, dict:Dictionary, line:String) -> Dictionary:
dict[0] = {'color':event_color.lerp(Highlighter.normal_color, 0.3)}
return dict