diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/OtherPlayerCharactersModel.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/OtherPlayerCharactersModel.java index 735e0bf..68af751 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/OtherPlayerCharactersModel.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/OtherPlayerCharactersModel.java @@ -3,7 +3,12 @@ import net.arnx.jsonic.JSON; import org.ntlab.radishforandroidstudio.cactusClient.connections.CharactersConnection; +import org.ntlab.radishforandroidstudio.cactusClient.types.pojo.PlayerPojo; +import org.ntlab.radishforandroidstudio.cactusClient.types.pojo.PlayersPojo; 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.Property3D; import org.ntlab.radishforandroidstudio.framework.network.CallBack; import java.util.ArrayList; @@ -20,7 +25,7 @@ private ArrayList otherCharacters = new ArrayList<>(); private CharactersConnection con = null; private int nextConnectRenaimdTime = 0; - private int connectInterval = 100; + private int connectInterval = 1000; public OtherPlayerCharactersModel() { con = new CharactersConnection("a"); @@ -35,7 +40,7 @@ */ @Override public void update(double interval) { - nextConnectRenaimdTime -= connectInterval; + nextConnectRenaimdTime -= interval; if (nextConnectRenaimdTime <= 0) { nextConnectRenaimdTime += connectInterval; con.doAnything(); @@ -45,10 +50,10 @@ @Override public void onResponse(String response) { JSON json = new JSON(); - List m = json.decode(response); - for (Map map : m) { + PlayersPojo m = json.decode(response, PlayersPojo.class); + for (PlayerPojo map : m.getPlayerPojo()) { + ArrayList prop = new ArrayList<>(); // 状態更新 - } } } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/types/pojo/PlayerPojo.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/types/pojo/PlayerPojo.java new file mode 100644 index 0000000..eaac851 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/types/pojo/PlayerPojo.java @@ -0,0 +1,72 @@ +package org.ntlab.radishforandroidstudio.cactusClient.types.pojo; + +import net.arnx.jsonic.JSONHint; + +import org.ntlab.radishforandroidstudio.framework.model3D.Position3D; +import org.ntlab.radishforandroidstudio.framework.model3D.Quaternion3D; + +public class PlayerPojo { + private String accountURI; + private String areaURI; + private String name; + private Position3D position; + private Quaternion3D angle; + private int modelID; + + private PlayerPojo() { + // JSONDecode時の呼び出し用 + } + + public PlayerPojo(String instanceId, String accountURI, String name, Position3D position, Quaternion3D angle, + int modelID) { + setAccountURI(accountURI); + setName(name); + setPosition(position); + setQuaternion3D(angle); + setModelID(modelID); + } + + public String getAccountURI() { + return accountURI; + } + + public String getName() { + return name; + } + + public Position3D getPosition() { + return position; + } + + public Quaternion3D getQuaternion3D() { + return angle; + } + + public int getModelID() { + return modelID; + } + + public String getAreaURI() { + return areaURI; + } + + public void setAccountURI(String accountURI) { + this.accountURI = accountURI; + } + + public void setName(String name) { + this.name = name; + } + + public void setPosition(Position3D position) { + this.position = position; + } + + public void setQuaternion3D(Quaternion3D angle) { + this.angle = angle; + } + + public void setModelID(int modelID) { + this.modelID = modelID; + } +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/types/pojo/PlayersPojo.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/types/pojo/PlayersPojo.java new file mode 100644 index 0000000..0d0fc90 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/types/pojo/PlayersPojo.java @@ -0,0 +1,21 @@ +package org.ntlab.radishforandroidstudio.cactusClient.types.pojo; + +import java.util.ArrayList; + +public class PlayersPojo { + private ArrayList playerPojo; + + private PlayersPojo() {} + + public PlayersPojo(ArrayList playerPojo) { + setPlayerPojo(playerPojo); + } + + public void setPlayerPojo(ArrayList playerPojo) { + this.playerPojo = playerPojo; + } + + public ArrayList getPlayerPojo() { + return playerPojo; + } +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/network/HttpAsyncConnection.java b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/network/HttpAsyncConnection.java index 766b81b..2ea170b 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/network/HttpAsyncConnection.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/network/HttpAsyncConnection.java @@ -83,7 +83,7 @@ " \"accountURI\": \"http://hogehoge.com\",\n" + " \"areaURI\": \"http://areahogehoge.com\",\n" + " \"name\": \"Totori Tori\",\n" + - "\t\"position\": {\"x\": 0, \"y\": 0, \"z\": 0},\n" + + "\t\"position\": {\"x\": 0.5, \"y\": 1.2, \"z\": 1.2},\n" + "\t\"angle\": {\"vx\": 0, \"vy\": 0, \"vz\": 0, \"a\": 0},\n" + "\t\"modelID\": \"5\"\n" + " },\n" + @@ -91,7 +91,7 @@ " \"accountURI\": \"http://hogehoge.com\",\n" + " \"areaURI\": \"http://areahogehoge.com\",\n" + " \"name\": \"Tataru Taru\",\n" + - "\t\"position\": {\"x\": 0, \"y\": 0, \"z\": 0},\n" + + "\t\"position\": {\"x\": 1.2, \"y\": 1.2, \"z\": 1.2},\n" + "\t\"angle\": {\"vx\": 0, \"vy\": 0, \"vz\": 0, \"a\": 0},\n" + "\t\"modelID\": \"5\"\n" + " }\n" +