diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 795735f..9cea792 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,7 +21,6 @@ android:supportsRtl="true" android:theme="@style/AppTheme"> - + - \ No newline at end of file + 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 3ecd5ce..633698d 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,6 +1,6 @@ package org.ntlab.radishforandroidstudio.cactusClient.controller; -import org.ntlab.radishforandroidstudio.cactusClient.usecase.UpdateUsecase; +import org.ntlab.radishforandroidstudio.cactusClient.usecase.UpdateUseCase; import org.ntlab.radishforandroidstudio.framework.gameMain.GameBaseModel; import org.ntlab.radishforandroidstudio.framework.gameMain.GameModelContainer; @@ -13,7 +13,7 @@ */ public class CactusRepository extends GameModelContainer{ private String instanceId = ""; - UpdateUsecase updateUsecase = new UpdateUsecase(); + UpdateUseCase updateUseCase = new UpdateUseCase(); public CactusRepository() { super(); @@ -32,7 +32,7 @@ @Override public void update(double interval) { super.update(interval); - updateUsecase.onUpdate(interval); + updateUseCase.onUpdate(interval); } } diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/MovableObjectModel.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/MovableObjectModel.java index 708b300..f87c223 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/MovableObjectModel.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/MovableObjectModel.java @@ -66,8 +66,6 @@ public void onResponse(String response) { JSON json = new JSON(); - - Map o = json.decode(response, new TypeReference>() { }); for (Map.Entry entry : o.entrySet()) { diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/OwnPlayerModel.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/OwnPlayerModel.java new file mode 100644 index 0000000..4e7141a --- /dev/null +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/controller/OwnPlayerModel.java @@ -0,0 +1,225 @@ +package org.ntlab.radishforandroidstudio.cactusClient.controller; + +import android.content.res.Resources; +import android.view.MotionEvent; +import android.view.View; + +import net.arnx.jsonic.JSON; + +import org.ntlab.radishforandroidstudio.cactusClient.connections.CharacterConnection; +import org.ntlab.radishforandroidstudio.cactusClient.models.player.Player; +import org.ntlab.radishforandroidstudio.framework.animation.Animation3D; +import org.ntlab.radishforandroidstudio.framework.event.PadEvent; +import org.ntlab.radishforandroidstudio.framework.gameMain.OnlineModel; +import org.ntlab.radishforandroidstudio.framework.gameMain.OvergroundActor; +import org.ntlab.radishforandroidstudio.framework.listener.PadListener; +import org.ntlab.radishforandroidstudio.framework.model3D.ModelFactory; +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.framework.model3D.Universe; +import org.ntlab.radishforandroidstudio.framework.physics.Solid3D; +import org.ntlab.radishforandroidstudio.framework.physics.Velocity3D; +import org.ntlab.radishforandroidstudio.framework.view3D.Camera3D; +import org.ntlab.radishforandroidstudio.java3d.Appearance; +import org.ntlab.radishforandroidstudio.java3d.Material; +import org.ntlab.radishforandroidstudio.java3d.Vector3d; + +import java.util.ArrayList; + +public class OwnPlayerModel implements PadListener, OnlineModel { + private boolean isPadTouched = false; //Padのタッチ判定 + private float touchPadX = 0.0f; + private float touchPadY = 0.0f; + double n = 1.0; + + private OvergroundActor actor; + private Camera3D camera; + private Player player; + private CharacterConnection con; + private int nextConnectRenaimdTime = 0; + private int connectInterval = 300; + private String playerId; + private OwnBulletsModel bullets; + + public OwnPlayerModel(Player player, Resources resources, Universe universe, Camera3D camera, String playerId, String instanceId) { + this.player = player; + setPlayerId(playerId); + setInstanceId(instanceId); + bullets = new OwnBulletsModel(resources, universe, instanceId, playerId); + + // キャラクタの作成 + Appearance ap1 = new Appearance(); + Material m = new Material(); + m.setDiffuseColor(0.0f, 0.3f, 1.0f); + m.setAmbientColor(0.0f, 0.0f, 0.0f); + m.setEmissiveColor(0.0f, 0.0f, 0.0f); + m.setSpecularColor(0.0f, 0.0f, 0.0f); + m.setShininess(5.0f); + ap1.setMaterial(m); + Object3D pochaBody = null; + try { + pochaBody = ModelFactory.loadModel(resources, "pocha.stl", ap1).createObject(); + Animation3D pochaAnimation = null; //AnimationFactory.loadAnimation("data\\pocha\\walk.wrl"); + actor = new OvergroundActor(pochaBody, pochaAnimation); + actor.setPosition(new Position3D(0.0, 1.0, 0.0)); + universe.place(actor); + } catch (Exception e) { + e.printStackTrace(); + } + + this.camera = camera; + camera.setViewPoint(actor.getPosition().add(0.0, 1.5, 0.0)); + camera.setViewLine(actor.getDirection()); + camera.setFieldOfView(1.5); + camera.setBackClipDistance(10000.0); + updateCamera(n); + } + + public void setPlayerId(String id) { + playerId = id; + } + + public void updateCamera(double n) { + Vector3d charaVector3d = actor.getDirection(); + charaVector3d.normalize();//キャラの向きを単位ベクトルに + camera.setViewPoint(actor.getPosition().add(5.0 * charaVector3d.getX(), charaVector3d.getY() + 5.5 - n, 5.0 * charaVector3d.getZ()));//視点 + camera.setViewLine(new Vector3d(-5.0 * charaVector3d.getX(), charaVector3d.getY() - 2.5 + n, -5.0 * charaVector3d.getZ()));//視線 + } + + /** + * パッドを動かしたときのイベント処理 + * + * @param event イベントの情報 + * @return + */ + @Override + public boolean onEvent(PadEvent event) { + Vector3d charaVector3d = actor.getDirection(); + charaVector3d.normalize();//キャラの向きを単位ベクトルに + MotionEvent motionEvent = event.getMotionEvent(); + + if (motionEvent.getAction() == MotionEvent.ACTION_DOWN || motionEvent.getAction() == MotionEvent.ACTION_MOVE) { + isPadTouched = true; + touchPadX = (float) (Math.cos(event.getAngle()) * event.getLength()); + touchPadY = (float) (Math.sin(event.getAngle()) * event.getLength()); + } else if (motionEvent.getAction() == MotionEvent.ACTION_UP) { + Velocity3D vel = actor.getVelocity(); + vel.setX(0); + vel.setY(0); + actor.setVelocity(vel); + isPadTouched = false; + } + return false; + } + + @Override + public void update(double interval) { + updateCamera(n); + Velocity3D vel = actor.getVelocity(); + Vector3d actorVec = actor.getDirection(); + bullets.setPosition(actor.getPosition()); + bullets.setAngle(((Solid3D) (actor.getBody())).getQuaternion()); + + if (isPadTouched) { + Vector3d up = new Vector3d(0, 1, 0); + Vector3d total = new Vector3d(); + Vector3d right = new Vector3d(); + + right.cross(actorVec, up); + + Vector3d touchXVec = right.clone(); + Vector3d touchYVec = actorVec.clone(); + + touchXVec.scale(touchPadX * -5); + touchYVec.scale(touchPadY * 5); + + total.add(touchXVec); + total.add(touchYVec); + total.y = vel.getY(); + + vel.setVector3d(total); + actor.setVelocity(vel); + + } else { + vel.setX(0.0); + vel.setZ(0.0); + actor.setVelocity(vel); + } + + nextConnectRenaimdTime -= interval; + if (nextConnectRenaimdTime <= 0) { + nextConnectRenaimdTime = connectInterval; + sendPlayerInfo(); + } + } + + public void sendPlayerInfo() { + con = new CharacterConnection(playerId); + con.setCallBack(this); + + Quaternion3D q = ((Solid3D) (actor.getBody())).getQuaternion(); + player.setPosition(actor.getPosition()); + player.setAngle(q); + + JSON json = new JSON(); + con.addFormParam("characterID", player.getCharacterID()); + con.addFormParam("cameraState", json.encode(player.getCameraState())); + con.addFormParam("position", json.encode(player.getPosition())); + con.addFormParam("animationClassToStart", json.encode(player.getEmoteState())); + con.addFormParam("angle", "{ \"x\":" + q.getX() + ", \"y\":" + q.getY() + ", \"z\":" + q.getZ() + ", \"w\":" + q.getW() + "}"); + con.doPut(); + } + + @Override + public void setInstanceId(String id) { + player.setInstanceID(id); + } + + @Override + public void onResponse(String response) { + + } + + public void jump() { + if (actor.isOnGround()) { + Velocity3D vel = actor.getVelocity(); + vel.setY(vel.getY() + 5); + actor.setVelocity(vel); + System.out.print("Jumpしました。"); + } else { + System.out.print("地に足がついてない。"); + } + System.out.print("onClick押されましたよ。"); + } + + public void changeViewpoint(float eyeX, float eyeY) { + actor.rotY(0.1 * (0.5f - eyeX)); + if (n <= 5 && n >= 0) { + n += (0.5f - eyeY); + } else if (n > 5) { + n = 5; + } else if (n < 0) { + n = 0; + } + } + + public OwnBulletsModel getBulletsModel() { + return bullets; + } + + public boolean onTouch(View v, MotionEvent event) { + System.out.println("RWTUIFragment touch"); + return false; + } + + public void logout() { + con = new CharacterConnection(playerId); + con.setCallBack(this); + con.doDelete(); + } + + public void deleteBullets(ArrayList bullets) { + this.bullets.deleteBullets(bullets); + } +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/entity/mapper/CactusUserEntityDataMapper.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/entity/mapper/CactusUserEntityDataMapper.java index a654c61..918e4e9 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/entity/mapper/CactusUserEntityDataMapper.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/entity/mapper/CactusUserEntityDataMapper.java @@ -3,6 +3,10 @@ import org.ntlab.radishforandroidstudio.cactusClient.domain.CactusUser; import org.ntlab.radishforandroidstudio.cactusClient.entity.CactusUserEntity; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + /** * ドメイン層のCactusUserEntity→CactusUserに変換するためのMapperクラス */ @@ -25,9 +29,28 @@ cactusUser.setAngle(cactusUserEntity.getAngle()); cactusUser.setPosition(cactusUserEntity.getPosition()); cactusUser.setInstanceId(cactusUserEntity.getInstanceId()); + cactusUser.setBulletID(cactusUserEntity.getBulletID()); } return cactusUser; } -} \ No newline at end of file + /** + * CactusUserEntityのリストをCactusUserのコレクションに変換 + * + * @param cactusUserEntityCollection + * @return + */ + + public List trasform(Collection cactusUserEntityCollection) { + final List cactusUserList = new ArrayList<>(20); + + for (CactusUserEntity cactusUserEntity : cactusUserEntityCollection) { + final CactusUser cactusUser = transform(cactusUserEntity); + if (cactusUser != null) { + cactusUserList.add(cactusUser); + } + } + return cactusUserList; + } +} diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/instance/Instances.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/instance/Instances.java index a8fdc90..b2538a2 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/instance/Instances.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/instance/Instances.java @@ -1,10 +1,10 @@ package org.ntlab.radishforandroidstudio.cactusClient.models.instance; +import org.ntlab.radishforandroidstudio.cactusClient.models.account.RandomStringGenerator; +import org.ntlab.radishforandroidstudio.cactusClient.models.player.Player; import org.ntlab.radishforandroidstudio.cactusClient.models.state.CameraState; import org.ntlab.radishforandroidstudio.cactusClient.models.state.EmoteState; -import org.ntlab.radishforandroidstudio.cactusClient.models.player.Player; -import org.ntlab.radishforandroidstudio.cactusClient.models.account.RandomStringGenerator; import org.ntlab.radishforandroidstudio.framework.model3D.Position3D; import org.ntlab.radishforandroidstudio.framework.model3D.Quaternion3D; @@ -47,8 +47,7 @@ return returnedMap; } - public HashMap createPlayer(String instanceURI, String characterURI, CameraState cameraState, - EmoteState.EmoteType animationClassToStart) { + public HashMap createPlayer(String instanceURI, String characterURI, CameraState cameraState, EmoteState.EmoteType animationClassToStart) { String id = RandomStringGenerator.generateUniqueString(Player.UNIQUE_ID_LENGTH, RandomStringGenerator.ALPHA_NUMERIC, playerMap.keySet()); Player player = new Player(instanceURI, characterURI, cameraState, animationClassToStart); playerMap.put(id, player); @@ -102,8 +101,7 @@ return instance; } - public Player updatePlayer(String playerId, String characterURI, Position3D position, Quaternion3D angle, - CameraState cameraState, EmoteState.EmoteType animationClassToStart) { + public Player updatePlayer(String playerId, String characterURI, Position3D position, Quaternion3D angle, CameraState cameraState, EmoteState.EmoteType animationClassToStart) { Player player = playerMap.get(playerId); player.update(characterURI, position, angle, cameraState, animationClassToStart); return player; diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/object/Object.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/object/Object.java index 82b604b..ac130cf 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/object/Object.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/object/Object.java @@ -12,10 +12,6 @@ import org.ntlab.radishforandroidstudio.java3d.Box; import org.ntlab.radishforandroidstudio.java3d.Primitive; -//import framework.model3D.Position3D; -//import framework.physics.AngularVelocity3D; -//import framework.physics.Velocity3D; - public class Object extends Entity3D { private Position3D position; private Velocity3D velocity; @@ -77,7 +73,6 @@ public void setPosition(Position3D position) { this.position = position; -// ((Object3D)(getPlaceable().getBody())).setPosition(position); } public void setVelocity(Velocity3D velocity) { @@ -90,7 +85,7 @@ public void setAngle(Quaternion3D angle) { this.angle = angle; -// ((Object3D) getPlaceable().getBody()).apply(angle, false); + } public void setAttribute(Attribute attribute) { diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/object/ObjectModelManager.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/object/ObjectModelManager.java index d732d18..9fbf8f9 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/object/ObjectModelManager.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/object/ObjectModelManager.java @@ -14,7 +14,6 @@ private HashMap model = new HashMap<>(); private RealTime3DFragment fragment; - // TODO: 2018/10/23 ObjectModelManagerの記述 private ObjectModelManager() { try { setObject(0, ModelFactory.loadModel(fragment.getResources(), getClass().getResource("cube-binary.stl").getPath())); diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/player/Character.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/player/Character.java index 86d5b7c..b648414 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/player/Character.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/player/Character.java @@ -30,8 +30,7 @@ // JSONDecode時の呼び出し用 } - public Character(String instanceId, String accountURI, String name, Position3D position, Quaternion3D angle, - int modelID) { + public Character(String instanceId, String accountURI, String name, Position3D position, Quaternion3D angle, int modelID) { setAccountURI(accountURI); setName(name); setPosition(position); diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/player/OwnPlayerModel.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/player/OwnPlayerModel.java deleted file mode 100644 index 1dacefe..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/models/player/OwnPlayerModel.java +++ /dev/null @@ -1,225 +0,0 @@ -package org.ntlab.radishforandroidstudio.cactusClient.models.player; - -import android.content.res.Resources; -import android.view.MotionEvent; -import android.view.View; - -import net.arnx.jsonic.JSON; - -import org.ntlab.radishforandroidstudio.cactusClient.connections.CharacterConnection; -import org.ntlab.radishforandroidstudio.cactusClient.controller.OwnBulletsModel; -import org.ntlab.radishforandroidstudio.framework.animation.Animation3D; -import org.ntlab.radishforandroidstudio.framework.event.PadEvent; -import org.ntlab.radishforandroidstudio.framework.gameMain.OnlineModel; -import org.ntlab.radishforandroidstudio.framework.gameMain.OvergroundActor; -import org.ntlab.radishforandroidstudio.framework.listener.PadListener; -import org.ntlab.radishforandroidstudio.framework.model3D.ModelFactory; -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.framework.model3D.Universe; -import org.ntlab.radishforandroidstudio.framework.physics.Solid3D; -import org.ntlab.radishforandroidstudio.framework.physics.Velocity3D; -import org.ntlab.radishforandroidstudio.framework.view3D.Camera3D; -import org.ntlab.radishforandroidstudio.java3d.Appearance; -import org.ntlab.radishforandroidstudio.java3d.Material; -import org.ntlab.radishforandroidstudio.java3d.Vector3d; - -import java.util.ArrayList; - -public class OwnPlayerModel implements PadListener, OnlineModel { - private boolean isPadTouched = false; //Padのタッチ判定 - private float touchPadX = 0.0f; - private float touchPadY = 0.0f; - double n = 1.0; - - private OvergroundActor actor; - private Camera3D camera; - private Player player; - private CharacterConnection con; - private int nextConnectRenaimdTime = 0; - private int connectInterval = 300; - private String playerId; - private OwnBulletsModel bullets; - - public OwnPlayerModel(Player player, Resources resources, Universe universe, Camera3D camera, String playerId, String instanceId) { - this.player = player; - setPlayerId(playerId); - setInstanceId(instanceId); - bullets = new OwnBulletsModel(resources, universe, instanceId, playerId); - - // キャラクタの作成 - Appearance ap1 = new Appearance(); - Material m = new Material(); - m.setDiffuseColor(0.0f, 0.3f, 1.0f); - m.setAmbientColor(0.0f, 0.0f, 0.0f); - m.setEmissiveColor(0.0f, 0.0f, 0.0f); - m.setSpecularColor(0.0f, 0.0f, 0.0f); - m.setShininess(5.0f); - ap1.setMaterial(m); - Object3D pochaBody = null; - try { - pochaBody = ModelFactory.loadModel(resources, "pocha.stl", ap1).createObject(); - Animation3D pochaAnimation = null; //AnimationFactory.loadAnimation("data\\pocha\\walk.wrl"); - actor = new OvergroundActor(pochaBody, pochaAnimation); - actor.setPosition(new Position3D(0.0, 1.0, 0.0)); - universe.place(actor); - } catch (Exception e) { - e.printStackTrace(); - } - - this.camera = camera; - camera.setViewPoint(actor.getPosition().add(0.0, 1.5, 0.0)); - camera.setViewLine(actor.getDirection()); - camera.setFieldOfView(1.5); - camera.setBackClipDistance(10000.0); - updateCamera(n); - } - - public void setPlayerId(String id) { - playerId = id; - } - - public void updateCamera(double n) { - Vector3d charaVector3d = actor.getDirection(); - charaVector3d.normalize();//キャラの向きを単位ベクトルに - camera.setViewPoint(actor.getPosition().add(5.0 * charaVector3d.getX(), charaVector3d.getY() + 5.5 - n, 5.0 * charaVector3d.getZ()));//視点 - camera.setViewLine(new Vector3d(-5.0 * charaVector3d.getX(), charaVector3d.getY() - 2.5 + n, -5.0 * charaVector3d.getZ()));//視線 - } - - /** - * パッドを動かしたときのイベント処理 - * - * @param event イベントの情報 - * @return - */ - @Override - public boolean onEvent(PadEvent event) { - Vector3d charaVector3d = actor.getDirection(); - charaVector3d.normalize();//キャラの向きを単位ベクトルに - MotionEvent motionEvent = event.getMotionEvent(); - - if (motionEvent.getAction() == MotionEvent.ACTION_DOWN || motionEvent.getAction() == MotionEvent.ACTION_MOVE) { - isPadTouched = true; - touchPadX = (float) (Math.cos(event.getAngle()) * event.getLength()); - touchPadY = (float) (Math.sin(event.getAngle()) * event.getLength()); - } else if (motionEvent.getAction() == MotionEvent.ACTION_UP) { - Velocity3D vel = actor.getVelocity(); - vel.setX(0); - vel.setY(0); - actor.setVelocity(vel); - isPadTouched = false; - } - return false; - } - - @Override - public void update(double interval) { - updateCamera(n); - Velocity3D vel = actor.getVelocity(); - Vector3d actorVec = actor.getDirection(); - bullets.setPosition(actor.getPosition()); - bullets.setAngle(((Solid3D) (actor.getBody())).getQuaternion()); - - if (isPadTouched) { - Vector3d up = new Vector3d(0, 1, 0); - Vector3d total = new Vector3d(); - Vector3d right = new Vector3d(); - - right.cross(actorVec, up); - - Vector3d touchXVec = right.clone(); - Vector3d touchYVec = actorVec.clone(); - - touchXVec.scale(touchPadX * -5); - touchYVec.scale(touchPadY * 5); - - total.add(touchXVec); - total.add(touchYVec); - total.y = vel.getY(); - - vel.setVector3d(total); - actor.setVelocity(vel); - - } else { - vel.setX(0.0); - vel.setZ(0.0); - actor.setVelocity(vel); - } - - nextConnectRenaimdTime -= interval; - if (nextConnectRenaimdTime <= 0) { - nextConnectRenaimdTime = connectInterval; - sendPlayerInfo(); - } - } - - public void sendPlayerInfo() { - con = new CharacterConnection(playerId); - con.setCallBack(this); - - Quaternion3D q = ((Solid3D) (actor.getBody())).getQuaternion(); - player.setPosition(actor.getPosition()); - player.setAngle(q); - - JSON json = new JSON(); - con.addFormParam("characterID", player.getCharacterID()); - con.addFormParam("cameraState", json.encode(player.getCameraState())); - con.addFormParam("position", json.encode(player.getPosition())); - con.addFormParam("animationClassToStart", json.encode(player.getEmoteState())); - con.addFormParam("angle", "{ \"x\":" + q.getX() + ", \"y\":" + q.getY() + ", \"z\":" + q.getZ() + ", \"w\":" + q.getW() + "}"); - con.doPut(); - } - - @Override - public void setInstanceId(String id) { - player.setInstanceID(id); - } - - @Override - public void onResponse(String response) { - - } - - public void jump() { - if (actor.isOnGround()) { - Velocity3D vel = actor.getVelocity(); - vel.setY(vel.getY() + 5); - actor.setVelocity(vel); - System.out.print("Jumpしました。"); - } else { - System.out.print("地に足がついてない。"); - } - System.out.print("onClick押されましたよ。"); - } - - public void changeViewpoint(float eyeX, float eyeY) { - actor.rotY(0.1 * (0.5f - eyeX)); - if (n <= 5 && n >= 0) { - n += (0.5f - eyeY); - } else if (n > 5) { - n = 5; - } else if (n < 0) { - n = 0; - } - } - - public OwnBulletsModel getBulletsModel() { - return bullets; - } - - public boolean onTouch(View v, MotionEvent event) { - System.out.println("RWTUIFragment touch"); - return false; - } - - public void logout() { - con = new CharacterConnection(playerId); - con.setCallBack(this); - con.doDelete(); - } - - public void deleteBullets(ArrayList bullets) { - this.bullets.deleteBullets(bullets); - } -} 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..83c6241 --- /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/usecase/UpdateUsecase.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/usecase/UpdateUsecase.java deleted file mode 100644 index 807e147..0000000 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/usecase/UpdateUsecase.java +++ /dev/null @@ -1,7 +0,0 @@ -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/PlayerFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/cactusClient/views/PlayerFragment.java index af5b95e..9adc7f2 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 @@ -18,7 +18,7 @@ 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.controller.OwnPlayerModel; import org.ntlab.radishforandroidstudio.cactusClient.models.player.Player; import org.ntlab.radishforandroidstudio.framework.RWT.RWTPad; import org.ntlab.radishforandroidstudio.framework.RWT.RWTShotButton; @@ -113,7 +113,6 @@ //object movableObjectModel = new MovableObjectModel(this, universe, instanceId); modelManager.addModel(movableObjectModel); - modelManager.setInstanceId(instanceId); //画面の生成 initGameWindowView(); diff --git a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTUIFragment.java b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTUIFragment.java index 2347dca..f423b39 100644 --- a/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTUIFragment.java +++ b/app/src/main/java/org/ntlab/radishforandroidstudio/framework/RWT/RWTUIFragment.java @@ -8,19 +8,17 @@ import android.view.View; import android.view.ViewGroup; - import org.ntlab.radishforandroidstudio.R; import org.ntlab.radishforandroidstudio.cactusClient.views.PlayerFragment; -import org.ntlab.radishforandroidstudio.framework.event.PadEvent; -import org.ntlab.radishforandroidstudio.framework.listener.PadListener; -import static android.view.View.*; +import static android.view.View.OnTouchListener; public class RWTUIFragment extends Fragment implements OnTouchListener { PlayerFragment listener = null; View v = null; - public RWTUIFragment() {} + public RWTUIFragment() { + } @Override public void onCreate(Bundle savedInstanceState) { @@ -30,8 +28,7 @@ } @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { v = inflater.inflate(R.layout.ui_fragment, null); if (listener != null) {