Merge pull request #193 from nitta-lab-2022/GameMemberActivity
確認しました
commit 910213f36a99aed0e1348a999af818978076c366
2 parents 3b9de4e + e521cae
RyuseiNishimura authored on 20 Oct 2022
Showing 5 changed files
View
5
.idea/misc.xml
<option name="filePathToZoomLevelMap">
<map>
<entry key="..\:/Users/Nitta/AndroidStudioProjects/IrisClient/app/src/main/res/layout/activity_main.xml" value="0.20969202898550723" />
<entry key="..\:/Users/Nitta/StudioProjects/IrisClient/app/src/main/res/layout/activity_main.xml" value="0.266304347826087" />
<entry key="..\:/Users/Student/StudioProjects/IrisClient/app/src/main/res/layout/activity_game_master.xml" value="0.4239583333333333" />
<entry key="..\:/Users/Student/StudioProjects/IrisClient/app/src/main/res/layout/activity_member_game.xml" value="0.4239583333333333" />
<entry key="..\:/Users/Student/StudioProjects/IrisClient/app/src/main/res/layout/activity_member_room.xml" value="0.3171875" />
<entry key="..\:/Users/Student/StudioProjects/IrisClient/app/src/main/res/layout/fragment_card_drawing.xml" value="0.3828125" />
<entry key="..\:/Users/Student/StudioProjects/IrisClient/app/src/main/res/layout/fragment_game_player_list.xml" value="0.4239583333333333" />
<entry key="..\:/Users/student/Desktop/IrisClient/app/src/main/res/layout-land/activity_main.xml" value="0.1574074074074074" />
<entry key="..\:/Users/student/Desktop/IrisClient/app/src/main/res/layout/activity_create_room.xml" value="0.17571611799914494" />
<entry key="..\:/Users/student/Desktop/IrisClient/app/src/main/res/layout/activity_enter_room.xml" value="0.17571611799914494" />
<entry key="..\:/Users/student/Desktop/IrisClient/app/src/main/res/layout/activity_main.xml" value="0.1859375" />
View
34
app/src/main/java/org/ntlab/irisclient/GameMasterActivity.java
 
//操作可能かどうかを記録。これがfalseの時は何のボタンを押すこともできない。
//時間があればオフラインの動作はできるようにしたい。
private boolean IsActive = false;
private String myTeam;
 
//Irisから必要な情報を取得
Iris iris = (Iris) this.getApplication();
private String myTeam = iris.getTeam();
 
@Override
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game_master);
 
// Fragmentを作成します
// Fragmentを作成します
DrawingCardFragment fragment = new DrawingCardFragment();
GamePlayerListFragment RedPlayerListFragment = new GamePlayerListFragment();
GamePlayerListFragment BluePlayerListFragment = new GamePlayerListFragment();
 
GamePlayerListFragment RedPlayerList = new GamePlayerListFragment("r");
GamePlayerListFragment BluePlayerList = new GamePlayerListFragment("b");
// Fragmentの追加や削除といった変更を行う際は、Transactionを利用します
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
 
// 新しく追加を行うのでaddを使用します
// 他にも、よく使う操作で、replace removeといったメソッドがあります
// メソッドの1つ目の引数は対象のViewGroupのID、2つ目の引数は追加するfragment
transaction.add(R.id.container, fragment);
/* transaction.add(R.id.RedPlayerListContainer, RedPlayerListFragment);
transaction.add(R.id.BluePlayerListContainer, BluePlayerListFragment);*/
transaction.add(R.id.RedPlayerListContainer, RedPlayerList);
transaction.add(R.id.BluePlayerListContainer,BluePlayerList);
 
// 最後にcommitを使用することで変更を反映します
transaction.commit();
 
//Irisから必要な情報を取得
Iris iris = (Iris) this.getApplication();
String rid = iris.getRid();
String nickName = iris.getNickname();
myTeam = iris.getTeam();
 
//viewModelに必用な情報をセット
gameViewModel= new ViewModelProvider(this).get(GameViewModel.class);
gameViewModel.setRid(rid);
//ボタンの情報を入力
buttonProcesses();
 
//自分が赤チームマスターの場合はヒントが入力可能
if(myTeam.equals("r")){
if(myTeam == null) {
System.out.println(("myteamがnullです"));
}else if(myTeam.equals("r")){
IsActive = true;
}
 
//タイマースタート呼び出し
//時間があれば背景の色を変える
 
}
});
 
}
 
public void buttonProcesses(){
Button SendHintButton = (Button) findViewById(R.id.SendHint);
View
82
app/src/main/java/org/ntlab/irisclient/GamePlayerListFragment.java
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.view.Gravity;
 
import org.ntlab.irisclient.models.Member;
 
import java.util.ArrayList;
import java.util.List;
 
public class GamePlayerListFragment extends Fragment {
 
public static GamePlayerListFragment newInstance(String str){
// インスタンス生成
GamePlayerListFragment fragment = new GamePlayerListFragment();
return fragment;
private String myTeam;
 
public GamePlayerListFragment(String team)
{
myTeam = team;
}
 
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
 
Resources resources = getResources();
View view = inflater.inflate(R.layout.fragment_card_drawing, container, false);
View view = inflater.inflate(R.layout.fragment_game_player_list, container, false);
Checkteam(view);
 
//irisからプレイヤーの一覧を取得
Iris iris = (Iris)this.getActivity().getApplication();
List<Member> players = iris.getMemberList();
 
//テスト用
Member test2 = new Member("test2");
Member test3 = new Member("test3");
players.add(test2);
players.add(test3);
 
//memberのリストから名前(string)だけを抽出
ArrayList<String> viewPlayers = new ArrayList<>();
players.forEach(m -> viewPlayers.add(m.getNickname()));
 
ListView playersList = (ListView) view.findViewById(R.id.PlayersList);
 
BaseAdapter adapter = new MemberListAdapter(this.getActivity().getApplicationContext(), R.layout.member_list_layout, viewPlayers, players);
// BaseAdapter adapter = new MemberListAdapter(this.getActivity().getApplicationContext(), R.layout.fragment_game_player_list, viewPlayers, players);
playersList.setAdapter(adapter);
 
//なぜか他のGamePlayerListFragmentにplayerの内容が引き継がれてしまうので、ここで初期化する。
players.clear();
 
return view;
}
 
//赤チームのプレイヤー全員を表示
//青チームのプレイヤー全員を表示
private String Checkteam(View view){
if(myTeam.equals("r")){
 
return "赤チーム";
}else{
 
return "青チーム";
}
}
}
View
13
app/src/main/res/layout/activity_game_master.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/HintAmount"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".GameMasterActivity">
 
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/GameHintMax"
app:layout_constraintTop_toTopOf="parent" />
 
<androidx.fragment.app.FragmentContainerView
 
<androidx.fragment.app.FragmentContainerView
android:id="@+id/RedPlayerListContainer"
layout="@layout/fragment_game_player_list"
android:layout_width="90dp"
android:layout_height="275dp"
android:id="@+id/BluePlayerListContainer"
layout="@layout/fragment_game_player_list"
android:layout_width="90dp"
android:layout_height="275dp"
android:layout_marginStart="15dp"
android:layout_marginTop="89dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="9dp"
app:layout_constraintBottom_toTopOf="@+id/finishGuessButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toEndOf="@+id/container"
app:layout_constraintTop_toTopOf="parent" />
 
 
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>
View
32
app/src/main/res/layout/fragment_game_player_list.xml
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".GamePlayerListFragment">
 
<TextView
android:id="@+id/textView5"
android:layout_width="212dp"
android:layout_height="536dp"
android:layout_marginStart="145dp"
android:layout_marginTop="94dp"
android:layout_marginEnd="102dp"
android:layout_marginBottom="24dp"
android:text="メンバーリスト"
android:textSize="96sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<ListView
android:id="@+id/PlayersList"
android:layout_width="412dp"
android:layout_height="731dp"
tools:layout_editor_absoluteX="-2dp"
tools:layout_editor_absoluteY="-1dp" />
 
</androidx.constraintlayout.widget.ConstraintLayout>