diff --git a/src/main/java/cactusServer/entities/Bullet.java b/src/main/java/cactusServer/entities/Bullet.java index c81b447..2ec4b09 100644 --- a/src/main/java/cactusServer/entities/Bullet.java +++ b/src/main/java/cactusServer/entities/Bullet.java @@ -1,7 +1,10 @@ package cactusServer.entities; +import org.ntlab.radishforandroidstudio.framework.model3D.Object3D; import org.ntlab.radishforandroidstudio.framework.model3D.Position3D; import org.ntlab.radishforandroidstudio.framework.model3D.Quaternion3D; +import org.ntlab.radishforandroidstudio.java3d.Box; +import org.ntlab.radishforandroidstudio.java3d.Primitive; public class Bullet extends Entity3D { private String playerID; @@ -16,6 +19,10 @@ this.playerID = playerID; this.position = position; this.angle = angle; +// setPrim(new Box()); +// setObject(new Object3D("", prim)); +// setPlaceable(object); +// setPlaceable(new Object3D("", new Box())); // ??? } public String getPlayerID() { diff --git a/src/main/java/cactusServer/entities/Player.java b/src/main/java/cactusServer/entities/Player.java index 22c0568..e04de25 100644 --- a/src/main/java/cactusServer/entities/Player.java +++ b/src/main/java/cactusServer/entities/Player.java @@ -97,6 +97,12 @@ } public void setCharacterID(String characterID) { + if (characterID.startsWith("\"")) { + characterID = characterID.substring(1); + } + if (characterID.endsWith("\"")) { + characterID = characterID.substring(0, characterID.length() - 1); + } this.characterID = characterID; } diff --git a/src/main/java/cactusServer/models/BulletModelManager.java b/src/main/java/cactusServer/models/BulletModelManager.java new file mode 100644 index 0000000..b56abba --- /dev/null +++ b/src/main/java/cactusServer/models/BulletModelManager.java @@ -0,0 +1,82 @@ +package cactusServer.models; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.util.HashMap; +import java.util.Map; + +import org.ntlab.radishforandroidstudio.framework.model3D.Model3D; +import org.ntlab.radishforandroidstudio.framework.model3D.ModelFactory; +import org.ntlab.radishforandroidstudio.framework.model3D.ModelFileFormatException; + +public class BulletModelManager { + private static BulletModelManager theInstance = null; + private HashMap bulletModels = new HashMap<>(); + private int nextKey = 0; + private static final String MODEL_PATH = "../../"; + + private BulletModelManager() { + initBulletModels(); + confirmModelMap(); + } + + private void initBulletModels() { + String[] initCharacterModelFileNames = { "pocha.stl" }; + for (String fileName : initCharacterModelFileNames) { + addBulletModel(fileName); + } + } + + public static BulletModelManager getInstance() { + if (theInstance == null) { + theInstance = new BulletModelManager(); + } + return theInstance; + } + + public Model3D getBulletModel(int id) { + return bulletModels.get(id); + } + + public int getBulletModelCount() { + return bulletModels.size(); + } + + public int addBulletModel(String fileName) { + String path = createModelFilePath(MODEL_PATH + fileName); + bulletModels.put(nextKey, loadModel(path)); + return nextKey++; + } + + private String createModelFilePath(String fileName) { + String path = getClass().getResource(fileName).getPath(); + try { + path = URLDecoder.decode(path, "utf-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + return path; + } + + private Model3D loadModel(String fileName) { + try { + return ModelFactory.loadModel(fileName, null, false, true); + } catch (IOException | ModelFileFormatException e) { + e.printStackTrace(); + } + return null; + } + + /** + * ���݂�CharacterModelMap�̒��g�̊m�F�p + */ + private void confirmModelMap() { + // �m�F�p + System.out.println("BulletModelManager�m�F�p"); + System.out.println(getBulletModelCount() + "�‚̃}�b�s���O�����݂����!"); + for (Map.Entry entry : bulletModels.entrySet()) { + System.out.println(entry.getKey() + ": " + entry.getValue()); + } + } +} diff --git a/src/main/java/cactusServer/utils/App.java b/src/main/java/cactusServer/utils/App.java index 1a43e61..5fa4890 100644 --- a/src/main/java/cactusServer/utils/App.java +++ b/src/main/java/cactusServer/utils/App.java @@ -22,6 +22,7 @@ import cactusServer.entities.EmoteState.EmoteType; import cactusServer.entities.Object.*; import cactusServer.models.Accounts; +import cactusServer.models.BulletModelManager; import cactusServer.models.CharacterModelManager; import cactusServer.models.CollisionManager; import cactusServer.models.Instances; @@ -40,6 +41,7 @@ ObjectModelManager.getInstance(); StageModelManager.getInstance(); CharacterModelManager.getInstance(); + BulletModelManager.getInstance(); Instances.getInstance(); Accounts.getInstance(); initDummy();