diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/CactusRepository.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/CactusRepository.java index e353bb2..3ecd5ce 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/CactusRepository.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/CactusRepository.java @@ -1,8 +1,8 @@ package org.ntlab.radishforandroidstudio.cactusClient.controller; +import org.ntlab.radishforandroidstudio.cactusClient.usecase.UpdateUsecase; import org.ntlab.radishforandroidstudio.framework.gameMain.GameBaseModel; import org.ntlab.radishforandroidstudio.framework.gameMain.GameModelContainer; -import org.ntlab.radishforandroidstudio.framework.gameMain.OnlineModel; /** * モデルを管理する @@ -11,8 +11,9 @@ * * @author s.iwatani */ -public class CactusRepository extends GameModelContainer implements OnlineModel { +public class CactusRepository extends GameModelContainer{ private String instanceId = ""; + UpdateUsecase updateUsecase = new UpdateUsecase(); public CactusRepository() { super(); @@ -31,10 +32,7 @@ @Override public void update(double interval) { super.update(interval); + updateUsecase.onUpdate(interval); } - @Override - public void onResponse(String response) { - - } } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/MyBullet.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/MyBullet.java index de87645..b21c299 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/MyBullet.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/MyBullet.java @@ -54,40 +54,6 @@ return isDelete; } - @Override - public void onEndFall() { - - } - - @Override - public void onIntersect(CollisionResult normal, long interval) { - - } - - @Override - public void onEndAnimation() { - - } - - @Override - public void addCollidable(ArrayList pList) { - - } - - @Override - public void onCollisionEnter(Placeable p) { - - } - - @Override - public void onCollisionStay(Placeable p) { - - } - - @Override - public void onCollisionExit(Placeable p) { - - } @Override public Force3D getGravity() { @@ -95,6 +61,7 @@ } + @Override final public void update(double interval) { progress(interval); @@ -143,7 +110,6 @@ setVelocity(new Velocity3D(v)); } - @Override public void setInstanceId(String id) { instanceId = id; @@ -158,4 +124,40 @@ isWaitCreatingOnServer = false; isCreatedOnServer = true; } + + @Override + public void onEndFall() { + + } + + @Override + public void onIntersect(CollisionResult normal, long interval) { + + } + + @Override + public void onEndAnimation() { + + } + + @Override + public void addCollidable(ArrayList pList) { + + } + + @Override + public void onCollisionEnter(Placeable p) { + + } + + @Override + public void onCollisionStay(Placeable p) { + + } + + @Override + public void onCollisionExit(Placeable p) { + + } + } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/OtherPlayerCharactersModel.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/OtherPlayerCharactersModel.java index bc2ca23..702263e 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/OtherPlayerCharactersModel.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/OtherPlayerCharactersModel.java @@ -80,12 +80,6 @@ // 自分自身は無視する if (entry.getKey().equals(playerId)) continue; - // 情報の取得 -// Map position = (Map)player.get("position"); -// Map angle = (Map)player.get("angle"); -// Position3D positionProp = new Position3D(((BigDecimal)position.get("x")).doubleValue(), ((BigDecimal)position.get("y")).doubleValue(), ((BigDecimal)position.get("z")).doubleValue()); -// Quaternion3D quaProp = new Quaternion3D(((BigDecimal)angle.get("x")).doubleValue(), ((BigDecimal)angle.get("y")).doubleValue(), ((BigDecimal)angle.get("z")).doubleValue(), ((BigDecimal)angle.get("w")).doubleValue()); - properties.add(player.getPosition()); properties.add(player.getAngle()); diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/UpdateBoundary.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/UpdateBoundary.java deleted file mode 100644 index f1776d1..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/UpdateBoundary.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.models; - -public interface UpdateBoundary { - - /** - * モデルの状態を更新する - - * @param interval 前回の更新からの時間差 - */ - void onUpdate(double interval); -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/UpdateUsecase.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/UpdateUsecase.java deleted file mode 100644 index 7faffd5..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/UpdateUsecase.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.models; - -import org.ntlab.radishforandroidstudio.cactusClient.controller.CactusRepository; - -public class UpdateUsecase implements UpdateBoundary { - CactusRepository cactusRepository; - - @Override - public void onUpdate(double interval) { - cactusRepository.update(interval); - - } -} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/usecase/UpdateBoundary.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/usecase/UpdateBoundary.java new file mode 100644 index 0000000..248c7a6 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/usecase/UpdateBoundary.java @@ -0,0 +1,6 @@ +package org.ntlab.radishforandroidstudio.cactusClient.usecase; + +public interface UpdateBoundary { + + void onUpdate(double interval); +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/usecase/UpdateUsecase.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/usecase/UpdateUsecase.java new file mode 100644 index 0000000..807e147 --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/usecase/UpdateUsecase.java @@ -0,0 +1,7 @@ +package org.ntlab.radishforandroidstudio.cactusClient.usecase; + +public class UpdateUsecase implements UpdateBoundary { + @Override + public void onUpdate(double interval) { + } +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/CharactersFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/CharactersFragment.java index e1aaa8b..ba9afd3 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/CharactersFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/CharactersFragment.java @@ -34,16 +34,13 @@ private ArrayList characterIds = new ArrayList<>(); @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - instanceId = getArguments().getString("instanceId"); + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + instanceId = getArguments().getString("instanceId"); cactus = (Cactus) getActivity().getApplication(); account = cactus.getMyAccount(); - connection = new CharactersFragmentConnection(instanceId); - // Inflate the layout for this fragment return inflater.inflate(R.layout.characters_fragment, container, false); } @@ -53,7 +50,6 @@ Button button = (Button) getActivity().findViewById(R.id.chooseInstances); button.setOnClickListener(new View.OnClickListener() { - @Override public void onClick(View v) { replaceFragment(R.id.fragment_place, new InstancesFragment(), false); @@ -66,7 +62,6 @@ listView.setAdapter(adapter); CharactersFragmentConnection con = new CharactersFragmentConnection(instanceId); -// con.addQueryParam("accountID", account.getUniqueID()); con.setCallBack(new CallBack() { private Context context; @@ -86,8 +81,14 @@ listView.setAdapter(adapter); } } + + }.setContext(this.getContext())); con.doGet(); + + + + // セルを選択されたら詳細画面フラグメント呼び出す listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { private Context context; @@ -101,7 +102,7 @@ @Override public void onResponse(String response) { Map player = JSON.decode(response, new TypeReference>() {}); - // TODO: 複数帰ってきた,もしくは帰ってこなかったときの処理 + // 複数帰ってきた,もしくは帰ってこなかったときの処理 // プレイ画面へ Bundle bundle = new Bundle(); diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java index 83f151f..8adb183 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/LoginFragment.java @@ -37,7 +37,6 @@ button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { -// Toast.makeText(getActivity(), "hoge!", Toast.LENGTH_SHORT).show(); replaceFragment(R.id.fragment_place, new SignUpFragment(),true); } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/PlayerFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/PlayerFragment.java index d22a03b..af5b95e 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/PlayerFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/PlayerFragment.java @@ -17,6 +17,7 @@ import org.ntlab.radishforandroidstudio.cactusClient.controller.MovableObjectModel; import org.ntlab.radishforandroidstudio.cactusClient.controller.OtherPlayerCharactersModel; import org.ntlab.radishforandroidstudio.cactusClient.controller.OwnBulletsModel; +import org.ntlab.radishforandroidstudio.cactusClient.usecase.UpdateBoundary; import org.ntlab.radishforandroidstudio.cactusClient.models.player.OwnPlayerModel; import org.ntlab.radishforandroidstudio.cactusClient.models.player.Player; import org.ntlab.radishforandroidstudio.framework.RWT.RWTPad; @@ -104,6 +105,7 @@ otherPlayerCharactersModel.setPlayerId(playerId); modelManager.addModel(otherPlayerCharactersModel); + BulletsModel bulletsModel = new BulletsModel(this.getResources(), universe); bulletsModel.setPlayerId(playerId); modelManager.addModel(bulletsModel); @@ -138,9 +140,12 @@ return parentView; } + UpdateBoundary updateBoundary; + @Override protected void update(long interval) { super.update(interval); + updateBoundary.onUpdate(interval); } @Override