diff --git a/src/main/java/cactusServer/entities/Instance.java b/src/main/java/cactusServer/entities/Instance.java index ce51517..5874cce 100644 --- a/src/main/java/cactusServer/entities/Instance.java +++ b/src/main/java/cactusServer/entities/Instance.java @@ -140,10 +140,10 @@ } public HashMap createObject(Position3D position, Velocity3D velocity, - AngularVelocity3D angularVelocity, Quaternion3D angle, Attribute attribute, String model) { + AngularVelocity3D angularVelocity, Quaternion3D angle, Attribute attribute, int modelID) { String id = RandomStringGenerator.generateUniqueString(Object.UNIQUE_ID_LENGTH, RandomStringGenerator.ALPHA_NUMERIC, objMap.keySet()); - Object object = new Object(position, velocity, angularVelocity, angle, attribute, model); + Object object = new Object(position, velocity, angularVelocity, angle, attribute, modelID); objMap.put(id, object); universe.place(object.getPlaceable()); HashMap returnedMap = new HashMap<>(); diff --git a/src/main/java/cactusServer/entities/Object.java b/src/main/java/cactusServer/entities/Object.java index d3ae812..f2e55d1 100644 --- a/src/main/java/cactusServer/entities/Object.java +++ b/src/main/java/cactusServer/entities/Object.java @@ -1,10 +1,12 @@ package cactusServer.entities; +import org.ntlab.radishforandroidstudio.framework.model3D.Model3D; import org.ntlab.radishforandroidstudio.framework.model3D.Position3D; import org.ntlab.radishforandroidstudio.framework.model3D.Quaternion3D; import org.ntlab.radishforandroidstudio.framework.physics.AngularVelocity3D; import org.ntlab.radishforandroidstudio.framework.physics.Velocity3D; +import cactusServer.models.ObjectModelManager; //import framework.model3D.Position3D; //import framework.physics.AngularVelocity3D; //import framework.physics.Velocity3D; @@ -16,7 +18,7 @@ private AngularVelocity3D angularVelocity; private Quaternion3D angle; private Attribute attribute; - private String model; + private Model3D model; @JSONHint(ignore = true) public static final int UNIQUE_ID_LENGTH = 12; @@ -27,13 +29,13 @@ } public Object(Position3D position, Velocity3D velocity, AngularVelocity3D angularVelocity, Quaternion3D angle, - Attribute attribute, String model) { + Attribute attribute, int modelID) { setPosition(position); setVelocity(velocity); setAngularVelocity(angularVelocity); setAngle(angle); setAttribute(attribute); - setModel(model); + setModel(modelID); } public Position3D getPosition() { @@ -56,7 +58,7 @@ return attribute; } - public String getModel() { + public Model3D getModel() { return model; } @@ -80,8 +82,8 @@ this.attribute = attribute; } - public void setModel(String model) { - this.model = model; + public void setModel(int modelID) { + this.model = ObjectModelManager.getInstance().getObject(modelID); } public static class Attribute { diff --git a/src/main/java/cactusServer/resources/ObjectsRest.java b/src/main/java/cactusServer/resources/ObjectsRest.java index d7dc3da..6d213ab 100644 --- a/src/main/java/cactusServer/resources/ObjectsRest.java +++ b/src/main/java/cactusServer/resources/ObjectsRest.java @@ -51,10 +51,10 @@ public String createObject(@PathParam("instanceId") String instanceId, @FormParam("position") Position3D position, @FormParam("velocity") Velocity3D velocity, @FormParam("angularVelocity") AngularVelocity3D angularVelocity, @FormParam("angle") Quaternion3D angle, - @FormParam("attribute") Attribute attribute, @FormParam("model") String model) { + @FormParam("attribute") Attribute attribute, @FormParam("model") int modelID) { Instance instance = Instances.getInstance().getInstance(instanceId); HashMap idMap = instance.createObject(position, velocity, angularVelocity, angle, attribute, - model); + modelID); HashMap uriMap = new HashMap<>(); for (String id : idMap.keySet()) { String uri = (InstancesRest.INSTANCES_URI + "/" + instanceId + "/objects/") + id; diff --git a/src/main/java/cactusServer/utils/App.java b/src/main/java/cactusServer/utils/App.java index 9bdf828..0294f21 100644 --- a/src/main/java/cactusServer/utils/App.java +++ b/src/main/java/cactusServer/utils/App.java @@ -79,7 +79,7 @@ Instances.getInstance().getPlayers().put("player2", player2); // �_�~�[�I�u�W�F�N�g Instances.getInstance().getInstance("test1").createObject(new Position3D(0, 0, 0), new Velocity3D(), - new AngularVelocity3D(), new Quaternion3D(), new Attribute(true,1), new String()); + new AngularVelocity3D(), new Quaternion3D(), new Attribute(true,1), 0); // �m�F�p // String player1Encode = JSON.encode(player1, true); // String player2Encode = JSON.encode(player2, true);