nx01/nx01-no2all-react/src/main/java/love/distributedrebirth/no2all/react/No2AllReact.java

18 lines
636 B
Java

package love.distributedrebirth.no2all.react;
public interface No2AllReact {
void claim(No2AllReactSlot slot);
void claimIn(No2AllReactSlot slot, Class<?> eventType);
void claimOut(No2AllReactSlot slot, Class<?> eventType);
void requireSlot(No2AllReactSlot slot, No2AllReactSlot dep);
void requireService(No2AllReactSlot slot, Class<?> serviceType);
void fire(No2AllReactSlot slot, Object event);
void fireForEach(No2AllReactSlot slot, Object event);
<T> void registrate(No2AllReactSlot slot, Class<T> eventType, No2AllReactListener<T> listener);
<T> T service(Class<T> serviceType);
void release(No2AllReactSlot slot);
}