package org.ntlab.irisclient;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import org.ntlab.irisclient.models.Member;
import org.ntlab.irisclient.resources.RoomsRest;
import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.jackson.JacksonConverterFactory;
public class TestGameActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_activity_game);
//サーバーとの通信を初期化
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/iris/")
.addConverterFactory(JacksonConverterFactory.create())
.build();
final RoomsRest roomRests = retrofit.create(RoomsRest.class);
//上の表示を削除
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.hide();
}
//RedSpy(owner)として参加
Button ownerButton = findViewById(R.id.ownergame);
ownerButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
((Iris) getApplication()).setRid("gametest");
((Iris) getApplication()).setNickname("RedSpy(owner)");
((Iris) getApplication()).setTeam("r");
((Iris) getApplication()).setMaster(true);
Call<List<Member>> call = roomRests.getRoomMember("gametest");
call.enqueue(new Callback<List<Member>>() {
@Override
public void onResponse(Call<List<Member>> call, Response<List<Member>> response) {
if (response.isSuccessful()){
System.out.println("通信成功:createDrawTest");
((Iris) getApplication()).setMemberList(response.body());
}
}
@Override
public void onFailure(Call<List<Member>> call, Throwable t) {
System.out.println("通信失敗:createDrawTest");
System.out.println(t);
}
});
Intent intent = new Intent(TestGameActivity.this, GameMasterActivity.class);
startActivity(intent);
}
});
//RedAgentとして参加
Button mem1Button = findViewById(R.id.member1);
mem1Button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
((Iris) getApplication()).setRid("gametest");
((Iris) getApplication()).setNickname("RedAgent");
((Iris) getApplication()).setTeam("r");
((Iris) getApplication()).setMaster(false);
Call<List<Member>> call = roomRests.getRoomMember("gametest");
call.enqueue(new Callback<List<Member>>() {
@Override
public void onResponse(Call<List<Member>> call, Response<List<Member>> response) {
if (response.isSuccessful()){
System.out.println("通信成功:createDrawTest");
((Iris) getApplication()).setMemberList(response.body());
}
}
@Override
public void onFailure(Call<List<Member>> call, Throwable t) {
System.out.println("通信失敗:createDrawTest");
System.out.println(t);
}
});
Intent intent = new Intent(TestGameActivity.this, GameMemberActivity.class);
startActivity(intent);
}
});
//BlueSpyとして参加
Button mem2Button = findViewById(R.id.member2);
mem2Button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
((Iris) getApplication()).setRid("gametest");
((Iris) getApplication()).setNickname("BlueSpy");
((Iris) getApplication()).setTeam("b");
((Iris) getApplication()).setMaster(true);
Call<List<Member>> call = roomRests.getRoomMember("gametest");
call.enqueue(new Callback<List<Member>>() {
@Override
public void onResponse(Call<List<Member>> call, Response<List<Member>> response) {
if (response.isSuccessful()){
System.out.println("通信成功:createDrawTest");
((Iris) getApplication()).setMemberList(response.body());
}
}
@Override
public void onFailure(Call<List<Member>> call, Throwable t) {
System.out.println("通信失敗:createDrawTest");
System.out.println(t);
}
});
Intent intent = new Intent(TestGameActivity.this, GameMasterActivity.class);
startActivity(intent);
}
});
//BlueAgentとして参加
Button mem3Button = findViewById(R.id.member3);
mem3Button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
((Iris) getApplication()).setRid("gametest");
((Iris) getApplication()).setNickname("BlueAgent");
((Iris) getApplication()).setTeam("b");
((Iris) getApplication()).setMaster(false);
Call<List<Member>> call = roomRests.getRoomMember("gametest");
call.enqueue(new Callback<List<Member>>() {
@Override
public void onResponse(Call<List<Member>> call, Response<List<Member>> response) {
if (response.isSuccessful()){
System.out.println("通信成功:createDrawTest");
((Iris) getApplication()).setMemberList(response.body());
}
}
@Override
public void onFailure(Call<List<Member>> call, Throwable t) {
System.out.println("通信失敗:createDrawTest");
System.out.println(t);
}
});
Intent intent = new Intent(TestGameActivity.this, GameMemberActivity.class);
startActivity(intent);
}
});
//backボタン
Button backButton = findViewById(R.id.fromgame);
backButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(TestGameActivity.this, TestEnterActivity.class);
startActivity(intent);
}
});
}
}