diff --git a/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java b/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java index 7705ea9..69345f4 100644 --- a/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java +++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java @@ -28,6 +28,7 @@ final private MutableLiveData hintMutableLiveData; final private MutableLiveData> openListMutableLiveData; final private MutableLiveData maxMutableLiveData; + final private MutableLiveData turnNumberMutableLiveData; final private MutableLiveData> colorMutableLiveData; final private MutableLiveData> opensMutableLiveData; final private MutableLiveData> mapMutableLiveData; @@ -44,6 +45,7 @@ private String hintPreData = null; private List openListPreData = null; private Integer maxPreData = null; + private Integer turnNumberPreData = null; private List opensPreData = null; private Boolean[] QPreData = null; @@ -56,6 +58,7 @@ this.hintMutableLiveData = new MutableLiveData<>(); this.openListMutableLiveData = new MutableLiveData<>(); this.maxMutableLiveData = new MutableLiveData<>(); + this.turnNumberMutableLiveData = new MutableLiveData<>(); this.mapMutableLiveData = new MutableLiveData<>(); this.colorMutableLiveData = new MutableLiveData<>(); this.opensMutableLiveData = new MutableLiveData<>(); @@ -282,6 +285,7 @@ updateHint(); updateOpenList(); updateMax(); + updateTurnNumber(); updateOpens(); updateQ(); } @@ -441,6 +445,36 @@ }); } + //TurnNumberの更新 + public void updateTurnNumber() { + Call call = gameRest.getTurnNumber(rid); + + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()){ + if(turnNumberPreData == null){ + //初回代入 + turnNumberMutableLiveData.setValue(response.body()); + turnNumberPreData = response.body(); + }else if(response.body().equals(turnNumberPreData)){ + //値が一緒なら書き換えない + }else{ + //値が異なるときのみライブデータを上書き + turnNumberMutableLiveData.setValue(response.body()); + turnNumberPreData = response.body(); + } + } + } + + @Override + public void onFailure(Call call, Throwable t) { + System.out.println("通信失敗:updateTurnNumber"); + System.out.println(t); + } + }); + } + //現在開いているすべてのカードを取得([tffftffffftttff]みたいなリストを逐一更新する、マスが開くたびに更新) public void updateOpens() {