diff --git a/src/main/java/cactusServer/models/ObjectModelManager.java b/src/main/java/cactusServer/models/ObjectModelManager.java new file mode 100644 index 0000000..2e2ad01 --- /dev/null +++ b/src/main/java/cactusServer/models/ObjectModelManager.java @@ -0,0 +1,41 @@ +package cactusServer.models; + +import java.io.IOException; +import java.util.HashMap; + +import org.ntlab.radishforandroidstudio.framework.model3D.Model3D; +import org.ntlab.radishforandroidstudio.framework.model3D.ModelFactory; +import org.ntlab.radishforandroidstudio.framework.model3D.ModelFileFormatException; + +public class ObjectModelManager { + private static ObjectModelManager theInstance = null; + private HashMap model = new HashMap<>(); + + private ObjectModelManager() { + try { + setObject(0, ModelFactory.loadModel(getClass().getResource("../../pocha.stl").getPath())); + setObject(1, ModelFactory.loadModel(getClass().getResource("../../pocha.stl").getPath())); + } catch (IOException | ModelFileFormatException e) { + e.printStackTrace(); + } + } + + public static ObjectModelManager getInstance() { + if (theInstance == null) { + theInstance = new ObjectModelManager(); + } + return theInstance; + } + + public void setObject(int key, Model3D loadModel) { + model.put(key, loadModel); + } + + public Model3D getObject(int objectID) { + return model.get(objectID); + } + + public int getObjectModelCount() { + return model.size(); + } +} diff --git a/src/main/java/cactusServer/utils/App.java b/src/main/java/cactusServer/utils/App.java index 1980c80..9bdf828 100644 --- a/src/main/java/cactusServer/utils/App.java +++ b/src/main/java/cactusServer/utils/App.java @@ -8,15 +8,20 @@ import javax.ws.rs.core.Application; import org.glassfish.jersey.server.ResourceConfig; +import org.ntlab.radishforandroidstudio.framework.model3D.Model3D; import org.ntlab.radishforandroidstudio.framework.model3D.Position3D; import org.ntlab.radishforandroidstudio.framework.model3D.Quaternion3D; +import org.ntlab.radishforandroidstudio.framework.physics.AngularVelocity3D; +import org.ntlab.radishforandroidstudio.framework.physics.Velocity3D; import cactusServer.entities.*; import cactusServer.entities.Character; import cactusServer.entities.EmoteState.EmoteType; +import cactusServer.entities.Object.*; import cactusServer.models.Accounts; import cactusServer.models.CharacterModelManager; import cactusServer.models.Instances; +import cactusServer.models.ObjectModelManager; import cactusServer.models.StageModelManager; import cactusServer.resources.InstancesRest; import net.arnx.jsonic.JSON; @@ -27,18 +32,19 @@ private ScheduledThreadPoolExecutor task = new ScheduledThreadPoolExecutor(4); public App() { + ObjectModelManager.getInstance(); StageModelManager.getInstance(); CharacterModelManager.getInstance(); Instances.getInstance(); Accounts.getInstance(); initDummy(); - start(10000); + start(1); System.out.println("pass"); } @Override public void run() { - System.out.println("�^�X�N�����s"); + //System.out.println("�^�X�N�����s"); } public void start(int interval) { @@ -61,25 +67,25 @@ Instances.getInstance().getInstance("test1").getCharacters().put("chara2", chara2); Instances.getInstance().getInstance("test2").getCharacters().put("chara1", chara1); Instances.getInstance().getInstance("test2").getCharacters().put("chara2", chara2); - accountUri = "/CactusServer/rest/accounts/" - + Accounts.getInstance().getAccountByID("test2").getUniqueID(); + accountUri = "/CactusServer/rest/accounts/" + Accounts.getInstance().getAccountByID("test2").getUniqueID(); chara1 = new Character("test2", accountUri, "chara3", new Position3D(), new Quaternion3D(), 0); Instances.getInstance().getInstance("test2").getCharacters().put("chara3", chara1); // �_�~�[�v���C���[2�� chara1.setPosition(new Position3D(34.5, 23.4, 19)); CameraState cameraState = new CameraState(1.24, new Quaternion3D(), 2.38, 3); - Player player1 = new Player("test1" , "chara1", null, null); + Player player1 = new Player("test1", "chara1", null, null); Instances.getInstance().getPlayers().put("player1", player1); - Player player2 = new Player("test2" , "chara2", cameraState, EmoteType.DUMMY); + Player player2 = new Player("test2", "chara2", cameraState, EmoteType.DUMMY); Instances.getInstance().getPlayers().put("player2", player2); // �_�~�[�I�u�W�F�N�g - //Instances.getInstance().getInstance("test1").createObject(new Position3D(0, 0, 0), velocity, angularVelocity, angle, attribute, model); + Instances.getInstance().getInstance("test1").createObject(new Position3D(0, 0, 0), new Velocity3D(), + new AngularVelocity3D(), new Quaternion3D(), new Attribute(true,1), new String()); // �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)); + // 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