Package vues.solo

Source Code of vues.solo.Panel_MenuInteraction_ModeSolo

/*
  Copyright (C) 2010 Aurelien Da Campo
 
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/

package vues.solo;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import vues.LookInterface;
import vues.commun.EcouteurDePanelTerrain;
import vues.commun.Panel_AjoutTour;
import vues.commun.Panel_InfoCreature;
import vues.commun.Panel_InfoTour;
import vues.commun.Panel_InfoVagues;
import vues.commun.Panel_InfosJoueurEtPartie;
import vues.commun.Panel_Selection;
import models.creatures.*;
import models.jeu.Jeu;
import models.jeu.ModeDeJeu;
import models.tours.*;

/**
* Panel de gestion des interactions avec le joueur.
* <p>
* Ce panel contient 3 zones :
* <p>
* - Information du l'etat du jeu (score, pieces d'or, etc)<br>
* - Choix des tours pour ajout<br>
* - Information sur une tour selectionnee<br>
*
* @author Aurélien Da Campo
* @version 1.1 | juin 2010
* @since jdk1.6.0_16
* @see JPanel
* @see ActionListener
*/
public class Panel_MenuInteraction_ModeSolo extends JPanel                    
{
    private static final long serialVersionUID = 1L;
   
  // panels internes
  private Panel_InfosJoueurEtPartie pInfosJoueurEtPartie;
  private Panel_AjoutTour pAjoutTour;
  private Panel_Selection pSelection;
    private Panel_InfoVagues panelInfoVagues;

  /**
   * Constructeur du panel d'interaction
   *
   * @param jeu le jeu avec lequel on interagit (le model)
   * @param fenJeu la fenetre de jeu
   */
  public Panel_MenuInteraction_ModeSolo(EcouteurDePanelTerrain edpt,Jeu jeu)
  {
    super(new BorderLayout());
    setBackground(LookInterface.COULEUR_DE_FOND_PRI);
   
    //---------------------
    //-- panels internes --
    //---------------------
   
    JPanel pToursEtJoueur = new JPanel(new BorderLayout());
        pToursEtJoueur.setOpaque(false);
   
        pInfosJoueurEtPartie = new Panel_InfosJoueurEtPartie(jeu, ModeDeJeu.MODE_SOLO);
        pToursEtJoueur.add(pInfosJoueurEtPartie,BorderLayout.NORTH);
       
        pAjoutTour = new Panel_AjoutTour(jeu, edpt, 280, 80);
        pToursEtJoueur.add(pAjoutTour,BorderLayout.SOUTH);
   
      add(pToursEtJoueur,BorderLayout.NORTH);
   
      pSelection = new Panel_Selection(jeu, edpt);
        add(pSelection,BorderLayout.CENTER);

  }
 
  /**
   * Permet d'avertir le composants contenu dans le menu qu'une tour
   * a ete selectionnee
   * @param tour la tour selectionnee
   * @param mode le mode de selection
   */
  public void setTourSelectionnee(Tour tour, int mode)
  {
    pSelection.setSelection(tour, mode);
  }
 
  /**
     * Permet d'avertir le composants contenu dans le menu qu'une creature
     * a ete selectionnee
     * @param creature la creature selectionnee
     */
  public void setCreatureSelectionnee(Creature creature)
    {
        pSelection.setSelection(creature, 0);
    }

    /**
     * Permet d'informer le panel que la partie est terminee
     */
    public void partieTerminee()
    {
        // informe le panel des tours
        pSelection.partieTerminee();
        pAjoutTour.partieTerminee();
        pInfosJoueurEtPartie.partieTerminee();
    }

    /**
     * Permet de recuperer le panel d'info tour
     * @return le panel d'info tour
     */
    public Panel_InfoTour getPanelInfoTour()
    {
        return pSelection.getPanelInfoTour();
    }
   
    /**
     * Permet de recuperer le panel d'info créature
     * @return le panel d'info créature
     */
    public Panel_InfoCreature getPanelInfoCreature()
    {
        return pSelection.getPanelInfoCreature();
    }

    /**
     * Permet d'indiquer que le jeu est en pause ou non.
     *
     * @param enPause si le jeu est en pause.
     */
    public void setPause(boolean enPause)
    {
        pSelection.setPause(enPause);
        pAjoutTour.setPause(enPause);
        pInfosJoueurEtPartie.setPause(enPause);
    }

    public void miseAJourInfoJoueur()
    {
        pInfosJoueurEtPartie.miseAJour();
        pAjoutTour.miseAJour();
    }

    public Panel_InfoVagues getPanelInfoVagues() {
        return panelInfoVagues;
    }
}
TOP

Related Classes of vues.solo.Panel_MenuInteraction_ModeSolo

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.