This commit is contained in:
Dan Baker 2025-12-02 07:45:23 +00:00
parent 7a8ee29dcb
commit 0fe23420ab
800 changed files with 16547 additions and 0 deletions

43
addons/log/plugin.gd Normal file
View file

@ -0,0 +1,43 @@
@tool
extends EditorPlugin
var override_log_level_option_button: OptionButton = OptionButton.new()
var icon_debug: Texture2D = EditorInterface.get_editor_theme().get_icon("Debug", "EditorIcons")
var icon_info: Texture2D = EditorInterface.get_editor_theme().get_icon("NodeInfo", "EditorIcons")
var icon_warn: Texture2D = EditorInterface.get_editor_theme().get_icon("NodeWarning", "EditorIcons")
var icon_err: Texture2D = EditorInterface.get_editor_theme().get_icon("StatusError", "EditorIcons")
func _enter_tree() -> void:
override_log_level_option_button.visible = ProjectSettings.get_setting("log_gd/config/show_log_level_selector", false)
override_log_level_option_button.add_icon_item(icon_debug, "DEBUG")
override_log_level_option_button.add_icon_item(icon_info, "INFO")
override_log_level_option_button.add_icon_item(icon_warn, "WARN")
override_log_level_option_button.add_icon_item(icon_err, "ERROR")
override_log_level_option_button.select(Log.get_log_level())
override_log_level_option_button.item_selected.connect(override_log_level)
add_control_to_container(CONTAINER_TOOLBAR, override_log_level_option_button)
override_log_level_option_button.get_parent().move_child(override_log_level_option_button, override_log_level_option_button.get_index() - 2)
Log.setup_settings()
Log.rebuild_config()
# TODO only run if some log-specific setting has changed
ProjectSettings.settings_changed.connect(on_settings_changed)
func _exit_tree() -> void:
remove_control_from_container(CONTAINER_TOOLBAR, override_log_level_option_button)
func on_settings_changed() -> void:
override_log_level_option_button.select(ProjectSettings.get_setting("log_gd/config/log_level"))
override_log_level_option_button.visible = ProjectSettings.get_setting("log_gd/config/show_log_level_selector")
Log.rebuild_config()
func override_log_level(value: Log.Levels) -> void:
Log.set_log_level(value)
ProjectSettings.set_setting("log_gd/config/log_level", value)
ProjectSettings.save()