diff --git a/src/main/java/cactusServer/entities/Angle.java b/src/main/java/cactusServer/entities/Angle.java new file mode 100644 index 0000000..b3b6fa5 --- /dev/null +++ b/src/main/java/cactusServer/entities/Angle.java @@ -0,0 +1,47 @@ +package cactusServer.entities; + +public class Angle { + private double vx; + private double vy; + private double vz; + private double a; + + public Angle(double vx, double vy, double vz, double a) { + this.vx = vx; + this.vy = vy; + this.vz = vz; + this.a = a; + } + + public double getVx() { + return vx; + } + + public double getVy() { + return vy; + } + + public double getVz() { + return vz; + } + + public double getA() { + return a; + } + + public void setVx(double vx) { + this.vx = vx; + } + + public void setVy(double vy) { + this.vy = vy; + } + + public void setVz(double vz) { + this.vz = vz; + } + + public void setA(double a) { + this.a = a; + } +} diff --git a/src/main/java/cactusServer/entities/CameraState.java b/src/main/java/cactusServer/entities/CameraState.java new file mode 100644 index 0000000..3801ab1 --- /dev/null +++ b/src/main/java/cactusServer/entities/CameraState.java @@ -0,0 +1,47 @@ +package cactusServer.entities; + +public class CameraState { + private double distance; // �L��������̋��� + private Angle angle; + private double tilt; // �`���g(rad) + private double fov; // ����p(rad) + + public CameraState(double distance, Angle angle, double tilt, double fov) { + this.distance = distance; + this.angle = angle; + this.tilt = tilt; + this.fov = fov; + } + + public double getDistance() { + return distance; + } + + public Angle getAngle() { + return angle; + } + + public double getTilt() { + return tilt; + } + + public double getFov() { + return fov; + } + + public void setDistance(double distance) { + this.distance = distance; + } + + public void setAngle(Angle angle) { + this.angle = angle; + } + + public void setTilt(double tilt) { + this.tilt = tilt; + } + + public void setFov(double fov) { + this.fov = fov; + } +} diff --git a/src/main/java/cactusServer/entities/Character.java b/src/main/java/cactusServer/entities/Character.java index bf8b4dd..cc22cf3 100644 --- a/src/main/java/cactusServer/entities/Character.java +++ b/src/main/java/cactusServer/entities/Character.java @@ -11,27 +11,24 @@ import net.arnx.jsonic.JSONHint; public class Character extends Entity{ - private URI accountURI; + private String accountURI; private String name; private Position3D position; -// private Angle angle; -// private Camera cameraState; -// private Emote emoteState; + private Angle angle; // private Model model; - private String areaID; - private boolean isActive; - @JSONHint(ignore = true) HashMap itemMap = new HashMap<>(); - @JSONHint(ignore = true) private static final int UNIQUE_ID_LENGTH = 12; + private String areaURI; - public Character(URI accountURI, String name, Position3D position, String areaId, boolean isActive) { + private HashMap itemMap = new HashMap<>(); + private static final int UNIQUE_ID_LENGTH = 12; + + public Character(String accountURI, String name, Position3D position, String areaId) { this.accountURI = accountURI; this.name = name; this.position = position; - this.areaID = areaId; - this.isActive = isActive; + this.areaURI = areaId; } - public URI getAccountURI() { + public String getAccountURI() { return accountURI; } @@ -44,11 +41,7 @@ } public String getAreaId() { - return areaID; - } - - public boolean isActive() { - return isActive; + return areaURI; } public Item getItem(String itemId) { @@ -72,11 +65,7 @@ } public void setAreaID(String areaID) { - this.areaID = areaID; - } - - public void setActive(boolean isActive) { - this.isActive = isActive; + this.areaURI = areaID; } public Map createItem(String name, int amount) { diff --git a/src/main/java/cactusServer/entities/EmoteState.java b/src/main/java/cactusServer/entities/EmoteState.java new file mode 100644 index 0000000..79f20d9 --- /dev/null +++ b/src/main/java/cactusServer/entities/EmoteState.java @@ -0,0 +1,19 @@ +package cactusServer.entities; + +/** + * �G���[�g�̏���\���N���X
+ * �����ɃG���[�g�̎�ނ�\���񋓌^����` + * @author r-isitani + * + */ +public class EmoteState { + private EmoteType emoteType; + + public EmoteState(EmoteType emoteType) { + this.emoteType = emoteType; + } + + public static enum EmoteType { + // �J�n����G���[�g�̎�ނ̗� + } +} diff --git a/src/main/java/cactusServer/entities/Instance.java b/src/main/java/cactusServer/entities/Instance.java index 9bd0225..d7a0a5d 100644 --- a/src/main/java/cactusServer/entities/Instance.java +++ b/src/main/java/cactusServer/entities/Instance.java @@ -68,30 +68,30 @@ return objMap.get(objId); } - @JSONHint(ignore = true) - public List getActiveCharacters() { - List activeCharacterList = new ArrayList<>(); - for (Map.Entry entry : characterMap.entrySet()) { - Character character = entry.getValue(); - if (character.isActive()) { - activeCharacterList.add(character); - } - } - return activeCharacterList; - } +// @JSONHint(ignore = true) +// public List getActiveCharacters() { +// List activeCharacterList = new ArrayList<>(); +// for (Map.Entry entry : characterMap.entrySet()) { +// Character character = entry.getValue(); +// if (character.isActive()) { +// activeCharacterList.add(character); +// } +// } +// return activeCharacterList; +// } - public List getCharacters(String accountUniqueId) { - List accountCharacterList = new ArrayList<>(); - for (Map.Entry entry : characterMap.entrySet()) { - Character character = entry.getValue(); - URI accountURI = character.getAccountURI(); - if (accountUniqueId.equals("")) { - // if���̏����ɂ�accountURI�Ɋ܂܂��accountId�ƈ�����id�Ƃ̏ƍ������� - accountCharacterList.add(character); - } - } - return accountCharacterList; - } +// public List getCharacters(String accountUniqueId) { +// List accountCharacterList = new ArrayList<>(); +// for (Map.Entry entry : characterMap.entrySet()) { +// Character character = entry.getValue(); +// URI accountURI = character.getAccountURI(); +// if (accountUniqueId.equals("")) { +// // if���̏����ɂ�accountURI�Ɋ܂܂��accountId�ƈ�����id�Ƃ̏ƍ������� +// accountCharacterList.add(character); +// } +// } +// return accountCharacterList; +// } 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 new file mode 100644 index 0000000..2620cc7 --- /dev/null +++ b/src/main/java/cactusServer/entities/Player.java @@ -0,0 +1,36 @@ +package cactusServer.entities; + +import framework.model3D.Position3D; + +public class Player extends Entity{ + private String InstanceURI; + private String characterURI; + private String areaURI; + private Position3D position; + private Angle angle; + private CameraState cameraState; + private EmoteState emoteState; + + public Player(String InstanceURI, String characterURI, CameraState cameraState, EmoteState.EmoteType animationClassToStart) { + this.InstanceURI = InstanceURI; + this.characterURI = characterURI; + this.cameraState = cameraState; + this.emoteState = new EmoteState(animationClassToStart); + } + + public String getInstanceURI() { + return InstanceURI; + } + + public String getCharacterURI() { + return characterURI; + } + + public String getAreaURI() { + return areaURI; + } + + public Position3D getPosition() { + return position; + } +} diff --git a/src/main/java/cactusServer/models/Instances.java b/src/main/java/cactusServer/models/Instances.java index 58a82eb..18ddea3 100644 --- a/src/main/java/cactusServer/models/Instances.java +++ b/src/main/java/cactusServer/models/Instances.java @@ -1,10 +1,12 @@ package cactusServer.models; +import java.net.URI; import java.util.HashMap; import java.util.Map; import org.apache.commons.lang3.RandomStringUtils; +import cactusServer.entities.AddressedEntity; import cactusServer.entities.Instance; import cactusServer.utils.RandomStringGenerator; import net.arnx.jsonic.JSONHint; @@ -19,6 +21,7 @@ private static Instances theInstance = null; private HashMap instanceMap = new HashMap<>(); // instance��ID�Ǝ��̂��Ǘ� private static final int UNIQUE_ID_LENGTH = 12; + private static final String INSTANCES_URI = "/CactusServer/rest/instances/"; private Instances() { @@ -36,8 +39,20 @@ return theInstance; } +// /** +// * �V����Instance���쐬����Map�ɒlj����� +// * +// * @param instance +// * @return �V�����쐬���ꂽID��Instance��Map +// */ +// public AddressedEntity createInstance(Instance instance) { +// String id = RandomStringGenerator.generateUniqueString(UNIQUE_ID_LENGTH, RandomStringGenerator.ALPHA_NUMERIC, instanceMap.keySet()); +// instanceMap.put(id, instance); +// return new AddressedEntity(URI.create(INSTANCES_URI + id).toString(), instance); +// } + /** - * �V����Instance���쐬����Map�ɒlj����� + * InstancesRest�Ƃ̃G���[�����p (��ŏ���) * * @param instance * @return �V�����쐬���ꂽID��Instance��Map