TowerGame/addons/git_describe/plugin.gd

50 lines
1.1 KiB
GDScript

@tool
extends EditorPlugin
const Debugger = preload("debugger.gd")
const Exporter = preload("exporter.gd")
const Settings = preload("settings.gd")
const Utilities = preload("utilities.gd")
var debugger := Debugger.new()
var exporter := Exporter.new()
func _enter_tree() -> void:
debugger.erase_describe_callable = _erase_describe
exporter.erase_describe_callable = _erase_describe
exporter.set_describe_callable = _set_describe
add_debugger_plugin(debugger)
add_export_plugin(exporter)
Settings.init_settings()
Utilities.push_status()
func _build() -> bool:
_set_describe()
return true
func _disable_plugin() -> void:
remove_debugger_plugin(debugger)
remove_export_plugin(exporter)
_erase_describe()
func _exit_tree() -> void:
_disable_plugin()
func _set_describe() -> void:
var describe: String = Utilities.get_git_describe(
Settings.get_command_options()
)
Settings.set_describe_setting(describe)
Settings.append_project_name(describe, true)
func _erase_describe() -> void:
Settings.set_describe_setting(null)
Settings.append_project_name(Settings.cached_describe, false)