diff --git a/src/main/java/cactusServer/models/CollisionManager.java b/src/main/java/cactusServer/models/CollisionManager.java index fe0cfb6..0f9d86f 100644 --- a/src/main/java/cactusServer/models/CollisionManager.java +++ b/src/main/java/cactusServer/models/CollisionManager.java @@ -15,11 +15,9 @@ public class CollisionManager { private static CollisionManager theInstance; - private List result; private HashMap instances; private CollisionManager() { - result = new ArrayList(); instances = Instances.getInstance().getInstances(); } @@ -30,33 +28,36 @@ return theInstance; } - public List getResult() { - return result; - } - public void collisionRun(long interval) { for (String instanceId : instances.keySet()) { Instance instance = Instances.getInstance().getInstance(instanceId); instance.getUniverse().update(interval); - result.clear(); for (Object object : instance.getObjects().values()) { for (Player player : Instances.getInstance().getPlayers(instanceId).values()) { - result.add(PhysicsUtility.checkCollision(player.getObject(), "",object.getObject(), "")); - // System.out.println(result.get(result.size()-1).length); - // objectmove(instance, object, character); + collisionMove(object, player); + } + for(Object object2 : instance.getObjects().values()) { + if(!object.equals(object2)) { + collisionMove(object, object2); + } } } } } - public void objectmove(Instance instance, Object object, Character character) { - int size = result.size() - 1; - CollisionResult current = result.get(size); - Position3D position = object.getPosition(); - position.setX(position.getX() + current.length * current.normal.x); - position.setY(position.getY() + current.length * current.normal.y); - position.setZ(position.getZ() + current.length * current.normal.z); + public void collisionMove(Object object, Player player) { + CollisionResult result; + result = PhysicsUtility.checkCollision(player.getObject(), "", object.getObject(), ""); + if (result != null) { + } } + + public void collisionMove(Object object1,Object object2) { + CollisionResult result; + result = PhysicsUtility.checkCollision(object1.getObject(), "", object2.getObject(), ""); + if (result != null) { + } + } }