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 51c4c42..735e0bf 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 @@ -1,10 +1,14 @@ package org.ntlab.radishforandroidstudio.cactusClient.models; +import net.arnx.jsonic.JSON; + import org.ntlab.radishforandroidstudio.cactusClient.connections.CharactersConnection; import org.ntlab.radishforandroidstudio.framework.gameMain.Actor; import org.ntlab.radishforandroidstudio.framework.network.CallBack; import java.util.ArrayList; +import java.util.List; +import java.util.Map; /** * 自キャラ以外の全操作キャラを管理するモデル @@ -40,6 +44,11 @@ @Override public void onResponse(String response) { - System.out.println(response); + JSON json = new JSON(); + List m = json.decode(response); + for (Map map : m) { + // 状態更新 + + } } } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/model3D/Universe.java b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/model3D/Universe.java index 6a8fe31..7f75c9d 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/model3D/Universe.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/model3D/Universe.java @@ -73,6 +73,22 @@ } } + /** + * Idを持つ対象に対して座標等の更新をかける + * + * @param id + * @param properties + * @return boolean 存在しないなどで更新できなければfalse, できればtrue + */ + public boolean apply(CommonId id, ArrayList properties) { + Object3D target = objMap.get(id); + if (target == null) return false; + for (Property3D prop : properties) { + target.apply(prop, false); + } + return true; + } + public void update(long interval){ for(int i = 0; i < movableList.size(); i++){ Movable movable = movableList.get(i); 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 cd6bf85..766b81b 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 @@ -78,43 +78,61 @@ // request public void doAnything() { - try { - if(conn == null) { - if(queryParams == null || queryParams.length() == 0){ - conn = (HttpURLConnection) new URL(baseUrl + pathParams).openConnection(); - } else { - conn = (HttpURLConnection) new URL(baseUrl + pathParams + "?" + queryParams).openConnection(); - } - } - conn.setReadTimeout(10000 /* milliseconds */); - conn.setConnectTimeout(15000 /* milliseconds */); - // POST or GET or PUT or DELETE - conn.setRequestMethod(method); - - if (formParams.length() > 0) { - conn.setDoOutput(true); - if(clientSessionID != null) { - conn.setRequestProperty("Cookie", clientSessionID); - } - OutputStream out = conn.getOutputStream(); - out.write(formParams.getBytes("UTF-8")); - out.flush(); - out.close(); - formParams = ""; - } - pathParams = ""; - queryParams = ""; - - conn.connect(); - - if(clientSessionID == null ) { - clientSessionID = conn.getHeaderField("Set-Cookie"); - - } - } catch (IOException e) { - notConnection(); - e.printStackTrace(); - } + callBack.onResponse("[\n" + + " {\n" + + " \"accountURI\": \"http://hogehoge.com\",\n" + + " \"areaURI\": \"http://areahogehoge.com\",\n" + + " \"name\": \"Totori Tori\",\n" + + "\t\"position\": {\"x\": 0, \"y\": 0, \"z\": 0},\n" + + "\t\"angle\": {\"vx\": 0, \"vy\": 0, \"vz\": 0, \"a\": 0},\n" + + "\t\"modelID\": \"5\"\n" + + " },\n" + + " {\n" + + " \"accountURI\": \"http://hogehoge.com\",\n" + + " \"areaURI\": \"http://areahogehoge.com\",\n" + + " \"name\": \"Tataru Taru\",\n" + + "\t\"position\": {\"x\": 0, \"y\": 0, \"z\": 0},\n" + + "\t\"angle\": {\"vx\": 0, \"vy\": 0, \"vz\": 0, \"a\": 0},\n" + + "\t\"modelID\": \"5\"\n" + + " }\n" + + "]");return; +// try { +// if(conn == null) { +// if(queryParams == null || queryParams.length() == 0){ +// conn = (HttpURLConnection) new URL(baseUrl + pathParams).openConnection(); +// } else { +// conn = (HttpURLConnection) new URL(baseUrl + pathParams + "?" + queryParams).openConnection(); +// } +// } +// conn.setReadTimeout(10000 /* milliseconds */); +// conn.setConnectTimeout(15000 /* milliseconds */); +// // POST or GET or PUT or DELETE +// conn.setRequestMethod(method); +// +// if (formParams.length() > 0) { +// conn.setDoOutput(true); +// if(clientSessionID != null) { +// conn.setRequestProperty("Cookie", clientSessionID); +// } +// OutputStream out = conn.getOutputStream(); +// out.write(formParams.getBytes("UTF-8")); +// out.flush(); +// out.close(); +// formParams = ""; +// } +// pathParams = ""; +// queryParams = ""; +// +// conn.connect(); +// +// if(clientSessionID == null ) { +// clientSessionID = conn.getHeaderField("Set-Cookie"); +// +// } +// } catch (IOException e) { +// notConnection(); +// e.printStackTrace(); +// } } // response