pollen-not-included/addons/gdUnit4/src/core/GdUnitSignals.gd
2024-05-02 09:36:31 +01:00

34 lines
1 KiB
GDScript

class_name GdUnitSignals
extends RefCounted
signal gdunit_client_connected(client_id :int)
signal gdunit_client_disconnected(client_id :int)
signal gdunit_client_terminated()
signal gdunit_event(event :GdUnitEvent)
signal gdunit_event_debug(event :GdUnitEvent)
signal gdunit_add_test_suite(test_suite :GdUnitTestSuiteDto)
signal gdunit_message(message :String)
signal gdunit_report(execution_context_id :int, report :GdUnitReport)
signal gdunit_set_test_failed(is_failed :bool)
signal gdunit_settings_changed(property :GdUnitProperty)
const META_KEY := "GdUnitSignals"
static func instance() -> GdUnitSignals:
if Engine.has_meta(META_KEY):
return Engine.get_meta(META_KEY)
var instance_ := GdUnitSignals.new()
Engine.set_meta(META_KEY, instance_)
return instance_
static func dispose() -> void:
var signals := instance()
# cleanup connected signals
for signal_ in signals.get_signal_list():
for connection in signals.get_signal_connection_list(signal_["name"]):
connection["signal"].disconnect(connection["callable"])
Engine.remove_meta(META_KEY)