diff --git a/src/main/java/cactusServer/entities/Object.java b/src/main/java/cactusServer/entities/Object.java index c860950..96de680 100644 --- a/src/main/java/cactusServer/entities/Object.java +++ b/src/main/java/cactusServer/entities/Object.java @@ -95,7 +95,7 @@ } public static class Attribute { - private boolean moveable; // �“� + private boolean movable; // �“� private double cof; // ���C�W�� @SuppressWarnings("unused") @@ -104,20 +104,20 @@ } public Attribute(boolean moveable, double cof) { - setMoveable(moveable); + setMovable(moveable); setCof(cof); } - public boolean isMoveable() { - return moveable; + public boolean isMovable() { + return movable; } public double getCof() { return cof; } - public void setMoveable(boolean moveable) { - this.moveable = moveable; + public void setMovable(boolean moveable) { + this.movable = moveable; } public void setCof(double cof) { diff --git a/src/main/java/cactusServer/models/CollisionManager.java b/src/main/java/cactusServer/models/CollisionManager.java index 44c9d3c..8634441 100644 --- a/src/main/java/cactusServer/models/CollisionManager.java +++ b/src/main/java/cactusServer/models/CollisionManager.java @@ -15,10 +15,11 @@ public class CollisionManager { private static CollisionManager theInstance; private HashMap instances; - private ArrayList resultList = new ArrayList(); + private ArrayList resultList; private CollisionManager() { instances = Instances.getInstance().getInstances(); + resultList = new ArrayList(); } public static CollisionManager getInstance() { @@ -27,7 +28,7 @@ } return theInstance; } - + @JSONHint(ignore = true) public ArrayList getResultList() { return resultList; @@ -55,10 +56,7 @@ CollisionResult result; result = PhysicsUtility.checkCollision(player.getObject(), null, object.getObject(), null); if (result != null) { - result.normal.scale(-1); - Vector3d vec = object.getPosition().getVector3d(); - vec.add(result.normal); - object.setPosition(new Position3D(vec)); + objMove(result, object, false); } } @@ -69,16 +67,19 @@ Vector3d vec1 = object1.getVelocity().getVector3d(); Vector3d vec2 = object2.getVelocity().getVector3d(); if (vec1.length() > vec2.length()) { - result.normal.scale(-1); - Vector3d vec = object1.getPosition().getVector3d(); - vec.add(result.normal); - object1.setPosition(new Position3D(vec)); - }else { - result.normal.scale(-1); - Vector3d vec = object2.getPosition().getVector3d(); - vec.add(result.normal); - object2.setPosition(new Position3D(vec)); + objMove(result, object1, true); + } else { + objMove(result, object2, true); } } } + + private void objMove(CollisionResult result, Object object, boolean negate) { + result.normal.scale(-1); + Vector3d vec = object.getPosition().getVector3d(); + if (negate) + result.normal.negate(); + vec.add(result.normal); + object.setPosition(new Position3D(vec)); + } } diff --git a/src/main/java/cactusServer/utils/App.java b/src/main/java/cactusServer/utils/App.java index 9d28ca7..47d12d3 100644 --- a/src/main/java/cactusServer/utils/App.java +++ b/src/main/java/cactusServer/utils/App.java @@ -39,12 +39,7 @@ private boolean debugflag = false; public App() { - int interval; - if(debugflag) { - interval = 1000; - }else { - interval = 1; - } + int interval = (debugflag) ? 1000 : 1; ObjectModelManager.getInstance(); StageModelManager.getInstance(); CharacterModelManager.getInstance(); @@ -99,9 +94,11 @@ Instances.getInstance().getInstance("test1").createObject(new Position3D(0, 0, 0), new Velocity3D(), new AngularVelocity3D(), new Quaternion3D(), new Attribute(true, 1), 0); // �_�~�[�o���b�g - Instances.getInstance().getInstance("test1").createBullet("player1", "testBulletId1", new Position3D(), new Quaternion3D()); - Instances.getInstance().getInstance("test1").createBullet("player1", "testBulletId2", new Position3D(), new Quaternion3D()); - + Instances.getInstance().getInstance("test1").createBullet("player1", "testBulletId1", new Position3D(), + new Quaternion3D()); + Instances.getInstance().getInstance("test1").createBullet("player1", "testBulletId2", new Position3D(), + new Quaternion3D()); + // // �m�F�p // String player1Encode = JSON.encode(player1, true); // String player2Encode = JSON.encode(player2, true);