package advancedsystemsmanager.threading;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraftforge.client.event.RenderWorldLastEvent;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
@SideOnly(Side.CLIENT)
public class ThreadSafeHandler
{
private static List<SearchItems> handle = new ArrayList<SearchItems>();
public static void handle(SearchItems search)
{
SearchItems existing;
for (ListIterator<SearchItems> itr = handle.listIterator(); itr.hasNext(); )
{
if ((existing = itr.next()).getScrollController() == search.getScrollController())
{
if (existing.getTime() < search.getTime())
{
itr.remove();
itr.add(search);
}
return;
}
}
handle.add(search);
}
@SubscribeEvent
public void renderEvent(RenderWorldLastEvent e)
{
if (handle.size() > 0)
{
for (SearchItems search : handle)
{
search.setResult();
}
handle.clear();
}
}
}