forked from kanium/starcheese
20 lines
473 B
GDScript
20 lines
473 B
GDScript
class_name EventBusSubscription
|
|
extends Subscription
|
|
|
|
var key: Array
|
|
var callback: Callable
|
|
var bus: DefaultEventBus
|
|
|
|
func _init(_key: Array, _callback: Callable, _bus: DefaultEventBus):
|
|
key = _key
|
|
callback = _callback
|
|
bus = _bus
|
|
|
|
func dispose() -> void:
|
|
var subscriber_set: Array[EventBusSubscription] = bus.subscribers.get(key, [])
|
|
subscriber_set.erase(self)
|
|
if subscriber_set.is_empty():
|
|
bus.subscribers.erase(key)
|
|
else:
|
|
bus.subscribers[key] = subscriber_set
|