moisesjpelaez - General Fixes

This commit is contained in:
2025-09-19 16:57:49 +00:00
parent 8fd05d5514
commit fcbab54a0c

View File

@ -3,33 +3,35 @@ package leenkx.system;
import haxe.Constraints.Function;
class Signal {
var callbacks:Array<Function> = [];
var callbacks: Array<Function> = [];
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<Function> {
public function getConnections(): Array<Function> {
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;
}
}