séparation class main - respect model MVC
This commit is contained in:
@@ -1,49 +1,42 @@
|
||||
package sae.chuzzle;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.RadioButton;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TextView;
|
||||
|
||||
public class MainActivity extends Activity implements View.OnClickListener {
|
||||
public class MainActivity extends Activity {
|
||||
|
||||
private Controleur controleur;
|
||||
private Button btnMenu;
|
||||
private boolean hardMode;
|
||||
private EtatJeu etatJeu;
|
||||
|
||||
private Button btnMenu;
|
||||
private VueGrille vueGrille;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_main);
|
||||
|
||||
// --- Modèle ---
|
||||
// --- Modèle
|
||||
long graine = getIntent().getLongExtra("graine", System.currentTimeMillis());
|
||||
hardMode = getSharedPreferences("chuzzle_prefs", MODE_PRIVATE)
|
||||
.getBoolean("hard_mode", false);
|
||||
boolean daltonien = getSharedPreferences("chuzzle_prefs", MODE_PRIVATE)
|
||||
.getBoolean("daltonien", false);
|
||||
hardMode = getSharedPreferences("chuzzle_prefs", MODE_PRIVATE).getBoolean("hard_mode", false);
|
||||
|
||||
|
||||
etatJeu = new EtatJeu(graine, hardMode);
|
||||
|
||||
// --- Restauration si retour de pause ---
|
||||
// --- Restauration si retour de pause
|
||||
if (savedInstanceState != null) {
|
||||
etatJeu.restaurerEtat(savedInstanceState);
|
||||
}
|
||||
|
||||
// --- Vue ---
|
||||
VueGrille vueGrille = findViewById(R.id.vueGrille);
|
||||
|
||||
// --- Controleur ---
|
||||
|
||||
btnMenu = findViewById(R.id.btnMenu);
|
||||
btnMenu.setOnClickListener(this);
|
||||
|
||||
// --- Vue
|
||||
vueGrille = findViewById(R.id.vueGrille);
|
||||
|
||||
// --- Controleur métier
|
||||
controleur = new Controleur(
|
||||
this,
|
||||
etatJeu,
|
||||
@@ -54,20 +47,20 @@ public class MainActivity extends Activity implements View.OnClickListener {
|
||||
hardMode
|
||||
);
|
||||
|
||||
// --- INITIALISATION DE L'OBJECTIF ---
|
||||
// "Objectif : ..." remplacé par le vrai énoncé
|
||||
// --- INITIALISATION DE L'OBJECTIF
|
||||
controleur.initialiserObjectif(savedInstanceState);
|
||||
|
||||
// --- Gestion tactile ---
|
||||
// --- Gestion tactile
|
||||
GestionnaireTactile gestionnaireTactile =
|
||||
new GestionnaireTactile(vueGrille, etatJeu, controleur);
|
||||
vueGrille.setOnTouchListener(gestionnaireTactile);
|
||||
|
||||
// --- Controleur
|
||||
btnMenu = findViewById(R.id.btnMenu);
|
||||
MainController mainController = new MainController(this, etatJeu);
|
||||
btnMenu.setOnClickListener(mainController);
|
||||
}
|
||||
|
||||
// -
|
||||
// CYCLE DE VIE
|
||||
|
||||
@Override
|
||||
protected void onSaveInstanceState(Bundle outState) {
|
||||
super.onSaveInstanceState(outState);
|
||||
@@ -82,16 +75,5 @@ public class MainActivity extends Activity implements View.OnClickListener {
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
if (v == btnMenu) {
|
||||
etatJeu.forcerFinDePartie();
|
||||
Intent intent = new Intent(this, MenuActivity.class);
|
||||
startActivity(intent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
package sae.chuzzle;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.view.View;
|
||||
|
||||
public class MainController implements View.OnClickListener {
|
||||
|
||||
private final MainActivity activity;
|
||||
private final EtatJeu etatJeu;
|
||||
|
||||
public MainController(MainActivity activity, EtatJeu etatJeu) {
|
||||
this.activity = activity;
|
||||
this.etatJeu = etatJeu;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
int id = v.getId();
|
||||
if (id == R.id.btnMenu) {
|
||||
etatJeu.forcerFinDePartie();
|
||||
Intent intent = new Intent(activity, MenuActivity.class);
|
||||
activity.startActivity(intent);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user