Files
Application/app/src/main/java/com/example/boidelov3/hub/GameSelectionActivity.java
T
2026-02-25 18:19:45 +01:00

125 lines
4.1 KiB
Java

package com.example.boidelov3.hub;
import android.content.Intent;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.example.boidelov3.R;
import com.example.boidelov3.games.boideloclassic.BoideloClassicSetupActivity;
import com.example.boidelov3.games.papelito.PapelitoSetupActivity;
import com.example.boidelov3.hub.adapter.GameAdapter;
import com.example.boidelov3.hub.model.GameInfo;
import java.util.ArrayList;
import java.util.List;
/**
* GameSelectionActivity - Hub principal de sélection des jeux
* Cette activité remplace l'ancienne MainActivity et sert de point d'entrée
* pour tous les jeux disponibles dans Boidelo.
*/
public class GameSelectionActivity extends AppCompatActivity implements GameAdapter.OnItemClickListener {
private RecyclerView gamesRecyclerView;
private GameAdapter gameAdapter;
private List<GameInfo> gamesList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game_selection);
initViews();
setupGamesList();
setupRecyclerView();
}
/**
* Initialise les vues de l'activité
*/
private void initViews() {
gamesRecyclerView = findViewById(R.id.gamesRecyclerView);
gamesRecyclerView.setLayoutManager(new LinearLayoutManager(this));
}
/**
* Configure la liste des jeux disponibles
*/
private void setupGamesList() {
gamesList = new ArrayList<>();
// Boidelo Classic - Le jeu original
gamesList.add(new GameInfo(
"Boidelo Classic",
"Le jeu original de questions et défis",
R.drawable.ic_boidelo_classic,
GameInfo.GameType.BOIDELO_CLASSIC,
true
));
// 89++ - Jeu de cartes
gamesList.add(new GameInfo(
"89++",
"Jeu de cartes avec timer et défis",
R.drawable.ic_game_89,
GameInfo.GameType.GAME_89,
true // Available now
));
// Papelito (Undercover) - Jeu de déduction
gamesList.add(new GameInfo(
"Papelito",
"Trouvez l'undercover avant qu'il ne soit trop tard!",
R.drawable.ic_papelito,
GameInfo.GameType.UNDERCOVER,
true // Available now
));
// Jeux de règles
gamesList.add(new GameInfo(
"Règles de jeux",
"Découvrez les règles des jeux d'ambiance populaires",
R.drawable.ic_rules,
GameInfo.GameType.RULES,
true // Available now!
));
}
/**
* Configure le RecyclerView avec l'adaptateur
*/
private void setupRecyclerView() {
gameAdapter = new GameAdapter(gamesList, this);
gamesRecyclerView.setAdapter(gameAdapter);
}
/**
* Gère le clic sur un jeu de la liste
* @param gameInfo Le jeu sélectionné
*/
@Override
public void onItemClick(GameInfo gameInfo) {
if (!gameInfo.isAvailable()) {
// Afficher un message "Coming soon"
android.widget.Toast.makeText(this, gameInfo.getName() + " - Bientôt disponible!",
android.widget.Toast.LENGTH_SHORT).show();
return;
}
switch (gameInfo.getGameType()) {
case BOIDELO_CLASSIC:
startActivity(new Intent(this, BoideloClassicSetupActivity.class));
break;
case GAME_89:
startActivity(new Intent(this, com.example.boidelov3.games.game89.Game89SetupActivity.class));
break;
case UNDERCOVER:
startActivity(new Intent(this, com.example.boidelov3.games.papelito.PapelitoSetupActivity.class));
break;
case RULES:
startActivity(new Intent(this, com.example.boidelov3.rules.RulesListActivity.class));
break;
}
}
}