Files
Sudoku/app/src/main/java/common/ConsumerSignal.java
Persson-dev 25c2270a37
All checks were successful
Linux arm64 / Build (push) Successful in 31s
feat: multi synced player scores
2025-01-30 22:16:29 +01:00

28 lines
489 B
Java

package common;
import java.util.HashSet;
import java.util.Set;
import java.util.function.Consumer;
public class ConsumerSignal<T> {
private final Set<Consumer<T>> listeners;
public ConsumerSignal() {
this.listeners = new HashSet<>();
}
public void connect(Consumer<T> listener) {
this.listeners.add(listener);
}
public void clear() {
this.listeners.clear();
}
public void emit(T arg) {
for (Consumer<T> listener : this.listeners) {
listener.accept(arg);
}
}
}