Merge pull request #156 from ryleykimmel/issue155

Closes #155, closes #154 and closes #107
This commit is contained in:
Gary Tierney
2016-02-03 23:45:37 +00:00
2 changed files with 4 additions and 4 deletions
@@ -2,11 +2,11 @@ package org.apollo.game.model.area;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
@@ -76,7 +76,7 @@ public final class Region {
/** /**
* The Map of Positions to Entities in that Position. * The Map of Positions to Entities in that Position.
*/ */
private final Map<Position, Set<Entity>> entities = new HashMap<>(); private final Map<Position, Set<Entity>> entities = new ConcurrentHashMap<>();
/** /**
* A List of RegionListeners registered to this Region. * A List of RegionListeners registered to this Region.
@@ -119,7 +119,7 @@ public final class GameService extends Service {
* *
* @param player The player. * @param player The player.
*/ */
public void finalizePlayerRegistration(Player player) { public synchronized void finalizePlayerRegistration(Player player) {
world.register(player); world.register(player);
Region region = world.getRegionRepository().fromPosition(player.getPosition()); Region region = world.getRegionRepository().fromPosition(player.getPosition());
region.addEntity(player); region.addEntity(player);
@@ -150,7 +150,7 @@ public final class GameService extends Service {
/** /**
* Called every pulse. * Called every pulse.
*/ */
public void pulse() { public synchronized void pulse() {
finalizeRegistrations(); finalizeRegistrations();
finalizeUnregistrations(); finalizeUnregistrations();