Commit 78826c56 authored by liujiahua123123's avatar liujiahua123123

event manager

parent 0e032cf9
......@@ -4,6 +4,8 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.*;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.function.Consumer;
import java.util.function.Predicate;
import java.util.stream.Collectors;
......@@ -22,6 +24,7 @@ public class MiraiEventManager {
return MiraiEventManager.instance;
}
Lock hooksLock = new ReentrantLock();
private Map<Class<? extends MiraiEvent>, List<MiraiEventConsumer<? extends MiraiEvent>>> hooks = new HashMap<>();
public <D extends MiraiEvent> void registerUntil(MiraiEventHook<D> hook, Predicate<D> toRemove){
......@@ -37,8 +40,8 @@ public class MiraiEventManager {
this.registerUntil(hook,(a) -> false);
}
public void boardcastEvent(MiraiEvent event){
hooksLock.lock();
if(hooks.containsKey(event.getClass())){
hooks.put(event.getClass(),
hooks.get(event.getClass())
......@@ -48,6 +51,7 @@ public class MiraiEventManager {
.collect(Collectors.toList())
);
}
hooksLock.unlock();
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment