diff --git a/src/main/java/cactusServer/entities/Player.java b/src/main/java/cactusServer/entities/Player.java index f2c59d4..0c59537 100644 --- a/src/main/java/cactusServer/entities/Player.java +++ b/src/main/java/cactusServer/entities/Player.java @@ -3,7 +3,7 @@ import cactusServer.models.Instances; import framework.model3D.Position3D; -public class Player extends Entity{ +public class Player extends Entity { private String instanceURI; private String characterURI; private String areaURI; @@ -15,18 +15,31 @@ private Player() { // JSONDecode���̌Ăяo���p } - - public Player(String instanceURI, String characterURI, CameraState cameraState, EmoteState.EmoteType animationClassToStart) { + + public Player(String instanceURI, String characterURI, CameraState cameraState, + EmoteState.EmoteType animationClassToStart) { setInstanceURI(instanceURI); setCharacterURI(characterURI); setCameraState(cameraState); setEmoteState(new EmoteState(animationClassToStart)); + readCharacterData(characterURI); + } + + private void readCharacterData(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]; + Character character = Instances.getInstance().getInstance(instanceId).getCharacter(characterId); + setPosition(character.getPosition()); + setAngle(character.getAngle()); + setAreaURI(character.getAreaURI()); } public String getInstanceURI() { return instanceURI; } - + public String getCharacterURI() { return characterURI; } @@ -38,7 +51,7 @@ public Position3D getPosition() { return position; } - + public Angle getAngle() { return angle; } @@ -50,7 +63,7 @@ public EmoteState getEmoteState() { return emoteState; } - + public void setInstanceURI(String instanceURI) { this.instanceURI = instanceURI; } @@ -59,6 +72,10 @@ this.characterURI = characterURI; } + public void setAreaURI(String areaURI) { + this.areaURI = areaURI; + } + public void setPosition(Position3D position) { this.position = position; } @@ -70,15 +87,15 @@ public void setCameraState(CameraState cameraState) { this.cameraState = cameraState; } - + public void setEmoteState(EmoteState emoteState) { this.emoteState = emoteState; } - + public void setanimationClassToStart(EmoteState.EmoteType animationClassToStart) { setEmoteState(new EmoteState(animationClassToStart)); } - + public void updateEmoteType(EmoteState.EmoteType animationClassToStart) { this.emoteState.setEmoteType(animationClassToStart); }