forked from LeenkxTeam/LNXSDK
moisesjpelaez - General Fixes
This commit is contained in:
@ -3,33 +3,35 @@ package leenkx.system;
|
|||||||
import haxe.Constraints.Function;
|
import haxe.Constraints.Function;
|
||||||
|
|
||||||
class Signal {
|
class Signal {
|
||||||
var callbacks:Array<Function> = [];
|
var callbacks: Array<Function> = [];
|
||||||
|
|
||||||
public function new() {
|
public function new() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function connect(callback:Function) {
|
public function connect(callback: Function) {
|
||||||
if (!callbacks.contains(callback)) callbacks.push(callback);
|
if (!callbacks.contains(callback)) callbacks.push(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function disconnect(callback:Function) {
|
public function disconnect(callback: Function) {
|
||||||
if (callbacks.contains(callback)) callbacks.remove(callback);
|
if (callbacks.contains(callback)) callbacks.remove(callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function emit(...args:Any) {
|
public function emit(...args: Any) {
|
||||||
for (callback in callbacks) Reflect.callMethod(this, callback, args);
|
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;
|
return callbacks;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isConnected(callBack:Function):Bool {
|
public function isConnected(callBack: Function):Bool {
|
||||||
return callbacks.contains(callBack);
|
return callbacks.contains(callBack);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isNull():Bool {
|
public function isNull(): Bool {
|
||||||
return callbacks.length == 0;
|
return callbacks.length == 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user