use of com.zimincom.mafiaonline.item.GameStart in project 2017-01-HUDI-MAC-CHAR by NHNNEXT.
the class GameRoomActivity method subscribeSockets.
private void subscribeSockets() {
mStompClient.topic("/from/chat/" + roomId).subscribe(message -> runOnUiThread(() -> {
ChatLayout chatLayout = new ChatLayout(getBaseContext());
MessageItem messageItem = gson.fromJson(message.getPayload(), MessageItem.class);
messageAdapter.addMessage(messageItem);
}));
mStompClient.topic("/from/ready/" + roomId).subscribe(message -> runOnUiThread(() -> {
ReadySignal readySignal = gson.fromJson(message.getPayload(), ReadySignal.class);
Logger.d(message.getPayload());
if (!readySignal.getUserName().equals(userName))
playerAdapter.ready(readySignal.getUserName());
if (readySignal.isStartTimer()) {
toolbar.setTitle("게임이 시작되었습니다.");
mStompClient.send("/to/gameStart/" + roomId + "/" + userName, gson.toJson(new GameStart(userName))).subscribe();
}
}));
mStompClient.topic("/from/access/" + roomId).subscribe(message -> runOnUiThread(() -> {
ClientAccess clientAccess = gson.fromJson(message.getPayload(), ClientAccess.class);
users = clientAccess.getUsers();
String accessState = clientAccess.getAccess();
String newUserName = clientAccess.getUserName();
if (accessState.equals("enter")) {
if (newUserName.equals(userName))
playerAdapter.addItems(users);
else
playerAdapter.addItemByNickName(newUserName);
} else if (accessState.equals("exit")) {
playerAdapter.removeItemByNickName(newUserName);
}
}));
mStompClient.topic("/from/gameStart/" + roomId + "/" + userName).subscribe(message -> runOnUiThread(() -> {
String role = message.getPayload().trim();
Logger.d(role);
user.setRoleTo(role);
String roleMessage = "당신의 직업은 " + role + "입니다";
infoText.setText(roleMessage);
gameHandler.sendEmptyMessage(GameTimerTask.PHASE_CHANGE);
playerAdapter.setState("day");
}));
mStompClient.topic("/from/votestart/").subscribe(message -> runOnUiThread(() -> {
Logger.d("phase chaged");
}));
mStompClient.topic("/from/vote/" + roomId).subscribe(message -> runOnUiThread(() -> {
GameResult gameResult = gson.fromJson(message.getPayload(), GameResult.class);
Logger.d("killedPlayer: %s", gameResult.getMsg());
if (gameResult.isFinished()) {
Toast.makeText(getBaseContext(), "게임이 끝났습니다", Toast.LENGTH_SHORT).show();
return;
}
playerAdapter.killByNickName(gameResult.getMsg());
}));
mStompClient.topic("/from/invest/" + roomId + "/" + userName).subscribe(message -> runOnUiThread(() -> {
String investMessage = message.getPayload();
Toast.makeText(getBaseContext(), "조사결과:" + investMessage, Toast.LENGTH_LONG).show();
}));
}
Aggregations