Optimizations

This commit is contained in:
Anuken
2018-07-11 12:19:21 -04:00
parent bce0101278
commit 2b58bd5bd8
11 changed files with 21 additions and 91 deletions

View File

@@ -1,14 +1,8 @@
package io.anuke.kryonet;
import io.anuke.mindustry.core.ThreadHandler.ThreadProvider;
import io.anuke.ucore.entities.EntityGroup;
import io.anuke.ucore.entities.EntityGroup.EntityContainer;
import io.anuke.ucore.entities.trait.Entity;
import io.anuke.ucore.util.Log;
import java.util.Iterator;
import java.util.concurrent.CopyOnWriteArrayList;
public class DefaultThreadImpl implements ThreadProvider {
private Thread thread;
@@ -54,42 +48,4 @@ public class DefaultThreadImpl implements ThreadProvider {
object.notify();
}
@Override
public <T extends Entity> void switchContainer(EntityGroup<T> group) {
group.setContainer(new ConcurrentContainer<>());
}
static class ConcurrentContainer<T> implements EntityContainer<T>{
private CopyOnWriteArrayList<T> list = new CopyOnWriteArrayList<>();
@Override
public int size() {
return list.size();
}
@Override
public void add(T item) {
list.add(item);
}
@Override
public void clear() {
list.clear();
}
@Override
public void remove(T item) {
list.remove(item);
}
@Override
public T get(int index) {
return list.get(index);
}
@Override
public Iterator<T> iterator() {
return list.iterator();
}
}
}