diff --git a/src/main/java/cactusServer/entities/Player.java b/src/main/java/cactusServer/entities/Player.java index 703fc56..64738e3 100644 --- a/src/main/java/cactusServer/entities/Player.java +++ b/src/main/java/cactusServer/entities/Player.java @@ -10,8 +10,8 @@ import net.arnx.jsonic.JSONHint; public class Player extends Entity3D { - private String instanceURI; - private String characterURI; + private String instanceID; + private String characterID; private String areaURI; private Position3D position; private Quaternion3D angle; @@ -24,10 +24,10 @@ // JSONDecode���̌Ăяo���p } - public Player(String instanceURI, String characterURI, CameraState cameraState, + public Player(String instanceID, String characterID, CameraState cameraState, EmoteState.EmoteType animationClassToStart) { - setInstanceURI(instanceURI); - setCharacterURI(characterURI); + setInstanceID(instanceID); + setCharacterID(characterID); if (cameraState != null) { setCameraState(cameraState); } else { @@ -38,8 +38,8 @@ } else { setEmoteState(new EmoteState()); } - Character character = getCharacter(characterURI); - readCharacterData(character); + Character character = getCharacter(); + readCharacterData(); initPlaceable(character.getModelID()); } @@ -48,17 +48,17 @@ Object3D body = CharacterModelManager.getInstance().getCharacterModel(modelID).createObject(); setPlaceable(new OvergroundActor(body, null)); // ��������Instance������Universe��placeable��z�u���� - String[] instanceURISplit = instanceURI.split("/"); // �c�c/instances/{instanceId} + String[] instanceURISplit = instanceID.split("/"); // �c�c/instances/{instanceId} String instanceId = instanceURISplit[instanceURISplit.length - 1]; Instances.getInstance().getInstance(instanceId).getUniverse().place(this.getPlaceable()); } - public String getInstanceURI() { - return instanceURI; + public String getInstanceID() { + return instanceID; } - public String getCharacterURI() { - return characterURI; + public String getCharacterID() { + return characterID; } public String getAreaURI() { @@ -81,12 +81,12 @@ return emoteState; } - public void setInstanceURI(String instanceURI) { - this.instanceURI = instanceURI; + public void setInstanceID(String instanceID) { + this.instanceID = instanceID; } - public void setCharacterURI(String characterURI) { - this.characterURI = characterURI; + public void setCharacterID(String characterID) { + this.characterID = characterID; } public void setAreaURI(String areaURI) { @@ -113,9 +113,9 @@ setEmoteState(new EmoteState(animationClassToStart)); } - public Player update(String characterURI, Position3D position, Quaternion3D angle, CameraState cameraState, + public Player update(String characterID, Position3D position, Quaternion3D angle, CameraState cameraState, EmoteState.EmoteType animationClassToStart) { - setCharacterURI(characterURI); + setCharacterID(characterID); setPosition(position); setAngle(angle); setCameraState(cameraState); @@ -153,37 +153,33 @@ emoteState.setEmoteType(animationClassToStart); } - public void changeCharacter(String characterURI) { - writeCharacterData(this.characterURI); - readCharacterData(characterURI); + public void changeCharacter(String characterID) { + writeCharacterData(); + setCharacterID(characterID); + readCharacterData(); } public void destroy() { - writeCharacterData(characterURI); + writeCharacterData(); } - private Character getCharacter(String characterURI) { - String[] characterURISplit = characterURI.split("/"); // �c�c/instances/{instanceId}/characters/{characterId} - int splitSize = characterURISplit.length; - String characterId = characterURISplit[splitSize - 1]; - String instanceId = characterURISplit[splitSize - 3]; - return Instances.getInstance().getInstance(instanceId).getCharacter(characterId); + private Character getCharacter() { + return Instances.getInstance().getInstance(instanceID).getCharacter(characterID); } private void readCharacterData(Character character) { setPosition(character.getPosition()); setAngle(character.getAngle()); setAreaURI(character.getAreaURI()); - setCharacterURI(characterURI); } - private void readCharacterData(String characterURI) { - Character character = getCharacter(characterURI); + private void readCharacterData() { + Character character = getCharacter(); readCharacterData(character); } - private void writeCharacterData(String characterURI) { - Character character = getCharacter(characterURI); + private void writeCharacterData() { + Character character = getCharacter(); character.update(position, angle, areaURI); } } diff --git a/src/main/java/cactusServer/models/Instances.java b/src/main/java/cactusServer/models/Instances.java index 32b989e..fb5ad77 100644 --- a/src/main/java/cactusServer/models/Instances.java +++ b/src/main/java/cactusServer/models/Instances.java @@ -50,11 +50,11 @@ return returnedMap; } - public HashMap createPlayer(String instanceURI, String characterURI, CameraState cameraState, + public HashMap createPlayer(String instanceID, String characterID, CameraState cameraState, EmoteState.EmoteType animationClassToStart) { String id = RandomStringGenerator.generateUniqueString(Player.UNIQUE_ID_LENGTH, RandomStringGenerator.ALPHA_NUMERIC, playerMap.keySet()); - Player player = new Player(instanceURI, characterURI,cameraState, animationClassToStart); + Player player = new Player(instanceID, characterID,cameraState, animationClassToStart); playerMap.put(id, player); HashMap returnedMap = new HashMap<>(); returnedMap.put(id, player); @@ -88,8 +88,7 @@ HashMap responsePlayers = new HashMap<>(); for (String id : playerMap.keySet()) { Player player = playerMap.get(id); - String[] instanceURISplit = player.getInstanceURI().split("/"); // �c/instances/{instanceId} - if (instanceId.equals(instanceURISplit[instanceURISplit.length - 1])) { + if (instanceId.equals(player.getInstanceID())) { responsePlayers.put(id, player); } } @@ -106,10 +105,10 @@ return instance; } - public Player updatePlayer(String playerId, String characterURI, Position3D position, Quaternion3D angle, + public Player updatePlayer(String playerId, String characterID, Position3D position, Quaternion3D angle, CameraState cameraState, EmoteState.EmoteType animationClassToStart) { Player player = playerMap.get(playerId); - player.update(characterURI, position, angle, cameraState, animationClassToStart); + player.update(characterID, position, angle, cameraState, animationClassToStart); return player; } diff --git a/src/main/java/cactusServer/resources/PlayersRest.java b/src/main/java/cactusServer/resources/PlayersRest.java index c8a97a6..29d9cd7 100644 --- a/src/main/java/cactusServer/resources/PlayersRest.java +++ b/src/main/java/cactusServer/resources/PlayersRest.java @@ -24,14 +24,14 @@ @Path("/instances/players") public class PlayersRest { @POST - //@Produces(MediaType.APPLICATION_JSON) + // @Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) - public String createPlayer(@PathParam("instanceId") String instanceURI, - @FormParam("characterURI") String characterURI, @FormParam("cameraState") CameraState cameraState, - @FormParam("animationClassToStart") EmoteState.EmoteType animationClassToStart) { + public String createPlayer(@FormParam("instanceID") String instanceID, + @FormParam("characterID") String characterID/*, @FormParam("cameraState") CameraState cameraState, + @FormParam("animationClassToStart") EmoteState.EmoteType animationClassToStart*/) { Instances instances = Instances.getInstance(); - HashMap idMap = instances.createPlayer(instanceURI, characterURI, cameraState, - animationClassToStart); + HashMap idMap = instances.createPlayer(instanceID, characterID, null, + null); HashMap uriMap = new HashMap<>(); for (String id : idMap.keySet()) { String uri = (InstancesRest.INSTANCES_URI + "/" + "/players/") + id; @@ -42,14 +42,14 @@ @Path("/{playerId}") @GET - //@Produces(MediaType.APPLICATION_JSON) + // @Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) public String getPlayer(@PathParam("playerId") String playerId) { return JSON.encode(Instances.getInstance().getPlayer(playerId)); } @GET - //@Produces(MediaType.APPLICATION_JSON) + // @Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) public String getPlayers(@QueryParam("instanceId") String instanceId) { return JSON.encode(Instances.getInstance().getPlayers(instanceId)); @@ -57,13 +57,13 @@ @Path("/{playerId}") @PUT - //@Produces(MediaType.APPLICATION_JSON) + // @Produces(MediaType.APPLICATION_JSON) @Produces(MediaType.TEXT_PLAIN) - public String updatePlayer(@PathParam("instanceId") String instanceId, @FormParam("playerId") String playerId, - @FormParam("characterURI") String characterURI, @FormParam("position") Position3D position, - @FormParam("angle") Quaternion3D angle, @FormParam("cameraState") CameraState cameraState, + public String updatePlayer(@PathParam("playerId") String playerId, @FormParam("characterID") String characterID, + @FormParam("position") Position3D position, @FormParam("angle") Quaternion3D angle, + @FormParam("cameraState") CameraState cameraState, @FormParam("animationClassToStart") EmoteState.EmoteType animationClassToStart) { - return JSON.encode(Instances.getInstance().updatePlayer(playerId, characterURI, position, angle, cameraState, + return JSON.encode(Instances.getInstance().updatePlayer(playerId, characterID, position, angle, cameraState, animationClassToStart)); } diff --git a/src/main/java/cactusServer/utils/App.java b/src/main/java/cactusServer/utils/App.java index 65c7d02..009c952 100644 --- a/src/main/java/cactusServer/utils/App.java +++ b/src/main/java/cactusServer/utils/App.java @@ -68,13 +68,16 @@ // �_�~�[�v���C���[2�� chara1.setPosition(new Position3D(34.5, 23.4, 19)); CameraState cameraState = new CameraState(1.24, new Quaternion3D(), 2.38, 3); - String instanceTest1URI = InstancesRest.INSTANCES_URI + "/" + "test1"; - String characterTest1URi = instanceTest1URI + "/" + "characters" + "/" + "chara1"; - Player player1 = new Player(instanceTest1URI , characterTest1URi, null, null); + Player player1 = new Player("test1" , "chara1", null, null); Instances.getInstance().getPlayers().put("player1", player1); - String instanceTest2URI = InstancesRest.INSTANCES_URI + "/" + "test2"; - String characterTest2URi = instanceTest2URI + "/" + "characters" + "/" + "chara2"; - Player player2 = new Player(instanceTest2URI , characterTest2URi, cameraState, EmoteType.DUMMY); + Player player2 = new Player("test2" , "chara2", cameraState, EmoteType.DUMMY); Instances.getInstance().getPlayers().put("player2", player2); + // �m�F�p +// String player1Encode = JSON.encode(player1, true); +// String player2Encode = JSON.encode(player2, true); +// Player player1Decode = JSON.decode(player1Encode, Player.class); +// Player player2Decode = JSON.decode(player2Encode, Player.class); +// System.out.println(JSON.encode(player1Decode, true)); +// System.out.println(JSON.encode(player2Decode, true)); } } \ No newline at end of file