From fcbab54a0c828cb1fc2cfeda287436ab63ce1297 Mon Sep 17 00:00:00 2001 From: Onek8 Date: Fri, 19 Sep 2025 16:57:49 +0000 Subject: [PATCH] moisesjpelaez - General Fixes --- leenkx/Sources/leenkx/system/Signal.hx | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/leenkx/Sources/leenkx/system/Signal.hx b/leenkx/Sources/leenkx/system/Signal.hx index c5b2c91..0abbe95 100644 --- a/leenkx/Sources/leenkx/system/Signal.hx +++ b/leenkx/Sources/leenkx/system/Signal.hx @@ -3,33 +3,35 @@ package leenkx.system; import haxe.Constraints.Function; class Signal { - var callbacks:Array = []; + var callbacks: Array = []; public function new() { - + } - public function connect(callback:Function) { + public function connect(callback: Function) { if (!callbacks.contains(callback)) callbacks.push(callback); } - public function disconnect(callback:Function) { + public function disconnect(callback: Function) { if (callbacks.contains(callback)) callbacks.remove(callback); } - public function emit(...args:Any) { - for (callback in callbacks) Reflect.callMethod(this, callback, args); + public function emit(...args: Any) { + for (callback in callbacks.copy()) { + if (callbacks.contains(callback)) Reflect.callMethod(null, callback, args); + } } - public function getConnections():Array { + public function getConnections(): Array { return callbacks; } - public function isConnected(callBack:Function):Bool { + public function isConnected(callBack: Function):Bool { return callbacks.contains(callBack); } - public function isNull():Bool { + public function isNull(): Bool { return callbacks.length == 0; } }