package fr.cnam.espacetore;

import fr.cnam.tore.*;
import fr.cnam.ihm.*;
import fr.cnam.espacetore.*;

public class IhmControleurJeu implements FormulaireInt
{
  private ControleurJeu controleurJeu;
  private EspaceTore    espaceTore;
  private boolean       modeCombat;

  public IhmControleurJeu(ControleurJeu controleurJeu,
                          EspaceTore    espaceTore)
  {
    this.controleurJeu = controleurJeu;
    this.espaceTore    = espaceTore;
    this.modeCombat = false;

    Formulaire form = new Formulaire("Parametres",this,false,300,300,true);
    form.addText("NBX","Taille en X",true,"30");
    form.addText("NBY","Taille en Y",true,"30");
    form.addText("TAILLE_CELLULE","Taille de la cellulle",true,"15");
    form.addButton("LANCER","Lancer");
    form.addText("TEMPO","Tempo",true,"250");
    form.addButton("VALIDER","Valider");
    form.addButton("MODENORMAL","Mode normal");
    form.addButton("MODECOMBAT","Mode combat");
    form.desactiver("MODENORMAL");
    form.addButton("RAZ","Raz");
    form.afficher();
  }

  public void submit(Formulaire form, String nomSubmit)
  {
    try{
      if (nomSubmit.equals("LANCER"))
        {
          controleurJeu.setParam(
                                 Integer.parseInt(form.getValeurChamp("NBX")),
                                 Integer.parseInt(form.getValeurChamp("NBY")),
                                 Integer.parseInt(form.getValeurChamp("TAILLE_CELLULE")));

          controleurJeu.setTempo(Integer.parseInt(form.getValeurChamp("TEMPO")));
          controleurJeu.setModeCombat(modeCombat);

          espaceTore.init();

          form.desactiver("NBX");
          form.desactiver("NBY");
          form.desactiver("TAILLE_CELLULE");
          form.desactiver("LANCER");
          System.out.println("LANCEMENT DE L'ESPACE DE TORE");
        }

      if (nomSubmit.equals("VALIDER"))
        {
          controleurJeu.setTempo(Integer.parseInt(form.getValeurChamp("TEMPO")));
        }
      if (nomSubmit.equals("MODENORMAL"))
        {
          modeCombat=false;
          controleurJeu.setModeCombat(modeCombat);
          form.desactiver("MODENORMAL");
          form.activer("MODECOMBAT");
        }
      if (nomSubmit.equals("MODECOMBAT"))
        {
          modeCombat=true;
          controleurJeu.setModeCombat(modeCombat);
          form.desactiver("MODECOMBAT");
          form.activer("MODENORMAL");
        }

      if (nomSubmit.equals("RAZ"))
        {
          espaceTore.supprimerTousAgents();
        }

      if (nomSubmit.equals("STOP"))
        {
                  
        }

    }catch(Exception ex){}
  }
}