a04a266c17
Merging months of dev work into master. The update is playable, but untested.
42 lines
771 B
Java
42 lines
771 B
Java
package StevenDimDoors.mod_pocketDim.watcher;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class UpdateWatcherProxy<T> implements IUpdateWatcher<T>
|
|
{
|
|
private List<IUpdateWatcher<T>> watchers;
|
|
|
|
public UpdateWatcherProxy()
|
|
{
|
|
watchers = new ArrayList<IUpdateWatcher<T>>();
|
|
}
|
|
|
|
@Override
|
|
public void onCreated(T message)
|
|
{
|
|
for (IUpdateWatcher<T> receiver : watchers)
|
|
{
|
|
receiver.onCreated(message);
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public void onDeleted(T message)
|
|
{
|
|
for (IUpdateWatcher<T> receiver : watchers)
|
|
{
|
|
receiver.onDeleted(message);
|
|
}
|
|
}
|
|
|
|
public void registerReceiver(IUpdateWatcher<T> receiver)
|
|
{
|
|
watchers.add(receiver);
|
|
}
|
|
|
|
public boolean unregisterReceiver(IUpdateWatcher<T> receiver)
|
|
{
|
|
return watchers.remove(receiver);
|
|
}
|
|
}
|