diff --git a/src/main/java/cactusServer/entities/Character.java b/src/main/java/cactusServer/entities/Character.java index c87b1d3..2112b1c 100644 --- a/src/main/java/cactusServer/entities/Character.java +++ b/src/main/java/cactusServer/entities/Character.java @@ -30,7 +30,7 @@ setAccountURI(accountURI); setName(name); setPosition(position); - setQuaternion3D(angle); + setAngle(angle); setModelID(modelID); initAreaURI(instanceId); } @@ -47,7 +47,7 @@ return position; } - public Quaternion3D getQuaternion3D() { + public Quaternion3D getAngle() { return angle; } @@ -81,7 +81,7 @@ this.position = position; } - public void setQuaternion3D(Quaternion3D angle) { + public void setAngle(Quaternion3D angle) { this.angle = angle; } @@ -143,7 +143,7 @@ public void update(Position3D position, Quaternion3D angle, String modelID, String areaURI) { setPosition(position); - setQuaternion3D(angle); + setAngle(angle); if (modelID != null) { setModelID(Integer.parseInt(modelID)); } diff --git a/src/main/java/cactusServer/entities/Instance.java b/src/main/java/cactusServer/entities/Instance.java index 3c8a079..7e6ea0e 100644 --- a/src/main/java/cactusServer/entities/Instance.java +++ b/src/main/java/cactusServer/entities/Instance.java @@ -97,6 +97,21 @@ public HashMap getCharacters() { return characterMap; } + + @JSONHint(ignore = true) + public HashMap getCharacters(String accountURI) { + if (accountURI == null || accountURI.isEmpty()) { + return getCharacters(); + } + HashMap returnedMap = new HashMap<>(); + for (String id : characterMap.keySet()) { + Character character = characterMap.get(id); + if (character.getAccountURI().equals(accountURI)) { + returnedMap.put(id, character); + } + } + return returnedMap; + } public Character getCharacter(String characterId) { return characterMap.get(characterId); diff --git a/src/main/java/cactusServer/entities/Player.java b/src/main/java/cactusServer/entities/Player.java index f2fb7d2..8ca34d1 100644 --- a/src/main/java/cactusServer/entities/Player.java +++ b/src/main/java/cactusServer/entities/Player.java @@ -42,7 +42,7 @@ // ��������Instance������Universe��placeable��z�u���� String[] instanceURISplit = instanceURI.split("/"); // �c�c/instances/{instanceId} String instanceId = instanceURISplit[instanceURISplit.length - 1]; - Instances.getInstance().getInstance(instanceId).getUniverse().place(this.getPlaceable()); +// Instances.getInstance().getInstance(instanceId).getUniverse().place(this.getPlaceable()); } public String getInstanceURI() { @@ -61,7 +61,7 @@ return position; } - public Quaternion3D getQuaternion3D() { + public Quaternion3D getAngle() { return angle; } @@ -89,7 +89,7 @@ this.position = position; } - public void setQuaternion3D(Quaternion3D angle) { + public void setAngle(Quaternion3D angle) { this.angle = angle; } @@ -109,7 +109,7 @@ EmoteState.EmoteType animationClassToStart) { setCharacterURI(characterURI); setPosition(position); - setQuaternion3D(angle); + setAngle(angle); setCameraState(cameraState); updateEmoteType(animationClassToStart); updateAreaURI(); @@ -164,7 +164,7 @@ private void readCharacterData(Character character) { setPosition(character.getPosition()); - setQuaternion3D(character.getQuaternion3D()); + setAngle(character.getAngle()); setAreaURI(character.getAreaURI()); setCharacterURI(characterURI); } diff --git a/src/main/java/cactusServer/utils/App.java b/src/main/java/cactusServer/utils/App.java index 979a556..a3c455c 100644 --- a/src/main/java/cactusServer/utils/App.java +++ b/src/main/java/cactusServer/utils/App.java @@ -13,10 +13,13 @@ import cactusServer.entities.*; import cactusServer.entities.Character; +import cactusServer.entities.EmoteState.EmoteType; import cactusServer.models.Accounts; import cactusServer.models.CharacterModelManager; import cactusServer.models.Instances; import cactusServer.models.StageModelManager; +import cactusServer.resources.InstancesRest; +import net.arnx.jsonic.JSON; @SuppressWarnings("unused") @ApplicationPath("/rest") @@ -43,9 +46,12 @@ } private void initDummy() { + // �_�~�[�A�J�E���g1�� Accounts.getInstance().createAcount("test", "test", "test"); + // �_�~�[�C���X�^���X2�� Instances.getInstance().getInstances().put("test1", new Instance("test1", 0)); Instances.getInstance().getInstances().put("test2", new Instance("test2", 1)); + // �_�~�[�L�����N�^�[4�� String accountUri = "/CactusServer/rest/accounts/" + Accounts.getInstance().getAccountByID("test").getUniqueID(); Character chara1 = new Character("test1", accountUri, "chara1", new Position3D(), new Quaternion3D(), 0); @@ -54,5 +60,16 @@ Instances.getInstance().getInstance("test1").getCharacters().put("chara2", chara2); Instances.getInstance().getInstance("test2").getCharacters().put("chara1", chara1); Instances.getInstance().getInstance("test2").getCharacters().put("chara2", chara2); + // �_�~�[�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, cameraState, EmoteType.DUMMY); + 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); + Instances.getInstance().getPlayers().put("player2", player2); } } \ No newline at end of file