diff --git a/src/main/java/cactusServer/entities/AddressedEntity.java b/src/main/java/cactusServer/entities/AddressedEntity.java deleted file mode 100644 index d66bee5..0000000 --- a/src/main/java/cactusServer/entities/AddressedEntity.java +++ /dev/null @@ -1,26 +0,0 @@ -package cactusServer.entities; - -/** - * �e���\�[�X��POST�ō쐬�����ۂ�, ���Y���\�[�X�̎��̂�URI���Ăяo�����ɕԂ��Ƃ��ɗp����N���X - * @author r-isitani - * - */ -public abstract class AddressedEntity { - private Entity body; - - protected AddressedEntity() { - // JSONDecode���̌Ăяo���p - } - - public AddressedEntity(Entity body) { - setBody(body); - } - - public Entity getBody() { - return body; - } - - public void setBody(Entity body) { - this.body = body; - } -} diff --git a/src/main/java/cactusServer/entities/Character.java b/src/main/java/cactusServer/entities/Character.java index c8eb53f..a495421 100644 --- a/src/main/java/cactusServer/entities/Character.java +++ b/src/main/java/cactusServer/entities/Character.java @@ -1,9 +1,6 @@ package cactusServer.entities; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; -import java.util.Map; import org.ntlab.radishforandroidstudio.framework.model3D.Position3D; import org.ntlab.radishforandroidstudio.framework.model3D.Quaternion3D; @@ -96,13 +93,15 @@ this.areaURI = areaURI; } - public AddressedEntity createItem(String name, int amount) { + public HashMap createItem(String name, int amount) { Item item = new Item(name, amount); if (!hasItem(item)) { String id = RandomStringGenerator.generateUniqueString(Item.UNIQUE_ID_LENGTH, RandomStringGenerator.ALPHA_NUMERIC, itemMap.keySet()); itemMap.put(id, item); - return new IDAddressedEntity(id, item); + HashMap returnMap = new HashMap<>(); + returnMap.put(id, item); + return returnMap; } return null; } diff --git a/src/main/java/cactusServer/entities/IDAddressedEntity.java b/src/main/java/cactusServer/entities/IDAddressedEntity.java deleted file mode 100644 index 4ca3a59..0000000 --- a/src/main/java/cactusServer/entities/IDAddressedEntity.java +++ /dev/null @@ -1,22 +0,0 @@ -package cactusServer.entities; - -public class IDAddressedEntity extends AddressedEntity{ - private String id; - - private IDAddressedEntity() { - // JSONDecode���̌Ăяo���p - } - - public IDAddressedEntity(String id, Entity body) { - super(body); - setId(id); - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } -} diff --git a/src/main/java/cactusServer/entities/Instance.java b/src/main/java/cactusServer/entities/Instance.java index e0b197d..54ab95a 100644 --- a/src/main/java/cactusServer/entities/Instance.java +++ b/src/main/java/cactusServer/entities/Instance.java @@ -1,14 +1,8 @@ package cactusServer.entities; -import java.io.IOException; -import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; -import java.util.List; -import java.util.Set; -import org.ntlab.radishforandroidstudio.framework.model3D.ModelFactory; -import org.ntlab.radishforandroidstudio.framework.model3D.ModelFileFormatException; import org.ntlab.radishforandroidstudio.framework.model3D.Object3D; import org.ntlab.radishforandroidstudio.framework.model3D.Position3D; import org.ntlab.radishforandroidstudio.framework.model3D.Quaternion3D; @@ -53,7 +47,7 @@ setName(name); setState(Instance.State.AVAILABLE); setStageID(stageID); - //initUniverse(); + // initUniverse(); } private void initUniverse() { @@ -80,7 +74,7 @@ public Universe getUniverse() { return universe; } - + @JSONHint(ignore = true) public HashMap getAreas() { return areaMap; @@ -89,7 +83,7 @@ public Area getArea(String areaId) { return areaMap.get(areaId); } - + @JSONHint(ignore = true) public HashMap getObjects() { return objMap; @@ -130,8 +124,8 @@ return returnMap; } - public HashMap createObject(Position3D position, Velocity3D velocity, AngularVelocity3D angularVelocity, - Quaternion3D angle, Attribute attribute, String model) { + public HashMap createObject(Position3D position, Velocity3D velocity, + AngularVelocity3D angularVelocity, Quaternion3D angle, Attribute attribute, String model) { String id = RandomStringGenerator.generateUniqueString(Object.UNIQUE_ID_LENGTH, RandomStringGenerator.ALPHA_NUMERIC, objMap.keySet()); Object object = new Object(position, velocity, angularVelocity, angle, attribute, model); @@ -142,8 +136,8 @@ return returnMap; } - public HashMap createCharacter(String instanceId, String accountURI, String name, Position3D position, - Quaternion3D angle, String modelID) { + public HashMap createCharacter(String instanceId, String accountURI, String name, + Position3D position, Quaternion3D angle, String modelID) { String id = RandomStringGenerator.generateUniqueString(Character.UNIQUE_ID_LENGTH, RandomStringGenerator.ALPHA_NUMERIC, characterMap.keySet()); Character character = new Character(instanceId, accountURI, name, position, angle, Integer.parseInt(modelID)); diff --git a/src/main/java/cactusServer/entities/Item.java b/src/main/java/cactusServer/entities/Item.java index 0055397..91ad0f3 100644 --- a/src/main/java/cactusServer/entities/Item.java +++ b/src/main/java/cactusServer/entities/Item.java @@ -2,15 +2,17 @@ import net.arnx.jsonic.JSONHint; -public class Item extends Entity{ +public class Item extends Entity { private String name; private int amount; - @JSONHint(ignore = true) public static final int UNIQUE_ID_LENGTH = 12; - + + @JSONHint(ignore = true) + public static final int UNIQUE_ID_LENGTH = 12; + private Item() { // JSONDecode���̌Ăяo���p } - + public Item(String name, int amount) { setName(name); setAmount(amount); @@ -19,15 +21,15 @@ public String getName() { return name; } - + public int getAmount() { return amount; } - + public boolean isEmpty() { return (amount == 0); } - + public void setName(String name) { this.name = name; } @@ -35,26 +37,26 @@ public void setAmount(int amount) { this.amount = amount; } - + public Item changeAmount(int amountOfChange) { amount = Math.max(amount + amountOfChange, 0); return this; } - + @Override public int hashCode() { int result = 17; result = result * 31 + name.hashCode(); return result; } - + @Override public boolean equals(java.lang.Object obj) { if (this == obj) { return true; } if (obj instanceof Item) { - Item item = (Item)obj; + Item item = (Item) obj; if (this.name.equals(item.name)) { return true; // �����̃A�C�e���͓��� } diff --git a/src/main/java/cactusServer/entities/Player.java b/src/main/java/cactusServer/entities/Player.java index 3f7e7a3..7a1566a 100644 --- a/src/main/java/cactusServer/entities/Player.java +++ b/src/main/java/cactusServer/entities/Player.java @@ -1,9 +1,11 @@ package cactusServer.entities; import org.ntlab.radishforandroidstudio.framework.gameMain.Actor; +import org.ntlab.radishforandroidstudio.framework.model3D.Object3D; import org.ntlab.radishforandroidstudio.framework.model3D.Position3D; import org.ntlab.radishforandroidstudio.framework.model3D.Quaternion3D; +import cactusServer.models.CharacterModelManager; import cactusServer.models.Instances; import net.arnx.jsonic.JSONHint; @@ -28,31 +30,19 @@ setCharacterURI(characterURI); setCameraState(cameraState); setAnimationClassToStart(animationClassToStart); - readCharacterData(characterURI); + Character character = getCharacter(characterURI); + readCharacterData(character); // ����Ȋ����œ��Y�R���X�g���N�^�̍Ō��placeable�̒������s��(��ۃN���X�̎��������܂��c�����Ă��Ȃ�) - // setPlaceable(new Actor()); + // int modelID = character.getModelID(); + // Object3D body = + // CharacterModelManager.getInstance().getCharacterModel(modelID).createObject(); + // setPlaceable(new Actor(body, )); // ��������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()); } - 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 void readCharacterData(String characterURI) { - Character character = getCharacter(characterURI); - setPosition(character.getPosition()); - setQuaternion3D(character.getQuaternion3D()); - setAreaURI(character.getAreaURI()); - setCharacterURI(characterURI); - } - public String getInstanceURI() { return instanceURI; } @@ -152,7 +142,7 @@ private void updateEmoteType(EmoteState.EmoteType animationClassToStart) { emoteState.setEmoteType(animationClassToStart); } - + public void changeCharacter(String characterURI) { writeCharacterData(this.characterURI); readCharacterData(characterURI); @@ -162,6 +152,26 @@ writeCharacterData(characterURI); } + 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 void readCharacterData(Character character) { + setPosition(character.getPosition()); + setQuaternion3D(character.getQuaternion3D()); + setAreaURI(character.getAreaURI()); + setCharacterURI(characterURI); + } + + private void readCharacterData(String characterURI) { + Character character = getCharacter(characterURI); + readCharacterData(character); + } + private void writeCharacterData(String characterURI) { Character character = getCharacter(characterURI); character.update(position, angle, null, areaURI); // model(��3����)�̍X�V�͏o���Ȃ� diff --git a/src/main/java/cactusServer/models/Instances.java b/src/main/java/cactusServer/models/Instances.java index 4a786d4..6a96cee 100644 --- a/src/main/java/cactusServer/models/Instances.java +++ b/src/main/java/cactusServer/models/Instances.java @@ -1,17 +1,13 @@ package cactusServer.models; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import org.ntlab.radishforandroidstudio.framework.model3D.Position3D; import org.ntlab.radishforandroidstudio.framework.model3D.Quaternion3D; import cactusServer.entities.CameraState; import cactusServer.entities.EmoteState; -import cactusServer.entities.IDAddressedEntity; import cactusServer.entities.Instance; -import cactusServer.entities.Instance.State; import cactusServer.entities.Player; import cactusServer.utils.RandomStringGenerator; @@ -27,13 +23,14 @@ private HashMap playerMap = new HashMap<>(); private Instances() { - //�_�~�[�R�[�h + // �_�~�[�R�[�h instanceMap.put("test1", new Instance("test1", 0)); instanceMap.put("test2", new Instance("test2", 1)); } /** * Instances�N���X���擾���� (�V���O���g��) + * * @return */ public static Instances getInstance() { @@ -81,6 +78,7 @@ /** * ID�ɑΉ�����instance�ɂ���Splayer��Ԃ� + * * @param instanceId */ public HashMap getPlayers(String instanceId) { @@ -107,7 +105,7 @@ instance.update(state); return instance; } - + public Player updatePlayer(String playerId, String characterURI, Position3D position, Quaternion3D angle, CameraState cameraState, EmoteState.EmoteType animationClassToStart) { Player player = playerMap.get(playerId);