fr.lip6.sma.simulacion.avatar
Class AvatarInterfacePanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by fr.lip6.sma.simulacion.avatar.AvatarInterfacePanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

public abstract class AvatarInterfacePanel
extends JPanel

Classe pour la zone d'interaction avec l'avatar (en bas à droite). Cette zone fonctionne avec une liste des cartes qui sont des éléments d'interaction entre le joueur et l'avatar. Il y a deux types de cartes:

Dans la pile des cartes, on a forcément une seule carte de saisie. Si une nouvelle carte de saisie arrive, elle se met en haut de la pile et toute carte de saisie préalablement dans la pile est supprimée. La nouvelle carte est montrée. Si une nouvelle carte d'événement arrive, elle se met en haut de la pile, et elle n'est montrée que si la carte courante n'est pas occupée. En fait, une nouvelle carte de saisie n'arrive qu'à partir d'une action de l'utilisateur (donc on suppose qu'il la veut tout de suite) tandis qu'une carte d'événement n'arrive qu'à partir d'un événement non relatif à l'utilisateur. Remarque: on pourrait introduire des priorités dans les cartes.

Version:
$Revision: 3 $
Author:
Paul Guyot
See Also:
"aucun test défini.", Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  CardLayout mCardLayout
          Gestionnaire des calques
private  CardStack mCardStack
          Pile des cartes.
private  InputCard mDefaultCard
          Carte par défaut.
private  Object mDefaultCardCookie
          Biscuit pour la carte par défaut.
private  GameController mGameController
          Référence sur la fenêtre principale
private  LocalPlayer mLocalPlayer
          Référence sur le joueur
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AvatarInterfacePanel(LocalPlayer inLocalPlayer, GameController inGameController)
          Constructeur à partir du joueur, du contrôleur et de la carte initiale.
 
Method Summary
protected  void addEventCard(EventCard inCard)
          Ajoute une carte d'événement et l'affiche si nécesssaire.
protected  void addEventCard(EventCard inCard, Object inCookie)
          Ajoute une carte d'événement et l'affiche si nécesssaire.
 int countCards()
          Retourne le nombre de cartes.
 InterfaceCard getCurrentCard()
          Accesseur sur la carte courante.
 int getCurrentCardIndex()
          Retourne l'indice de la carte actuelle (base 1).
 GameController getGameController()
          Accesseur sur la fenêtre principale.
 LocalPlayer getLocalPlayer()
          Accesseur sur l'agent.
 boolean hasNextCard()
          Est-ce qu'on peut avancer dans la pile.
 boolean hasPreviousCard()
          Est-ce qu'on peut reculer dans la pile.
protected  void init(InputCard inDefaultCard, Object inCookie)
          Initialisation à partir de la carte par défaut.
protected  void setInputCard(InputCard inCard)
          Change la carte de saisie, sans biscuit.
protected  void setInputCard(InputCard inCard, Object inCookie)
          Change la carte de saisie.
protected  void showCard(InterfaceCard inCard)
          Affiche une carte donnée, sans biscuit.
protected  void showCard(InterfaceCard inCard, Object inCookie)
          Affiche une carte donnée.
private  void showCurrentCard()
          Affiche la carte courante de la pile.
 void showDefaultCard()
          Affiche la carte par défaut (de saisie).
 void showNextCard()
          Avance dans l'historique des cartes.
 void showPreviousCard()
          Revient en arrière dans l'historique des cartes.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

mCardStack

private CardStack mCardStack
Pile des cartes.


mLocalPlayer

private final LocalPlayer mLocalPlayer
Référence sur le joueur


mGameController

private final GameController mGameController
Référence sur la fenêtre principale


mCardLayout

private final CardLayout mCardLayout
Gestionnaire des calques


mDefaultCard

private InputCard mDefaultCard
Carte par défaut.


mDefaultCardCookie

private Object mDefaultCardCookie
Biscuit pour la carte par défaut.

Constructor Detail

AvatarInterfacePanel

public AvatarInterfacePanel(LocalPlayer inLocalPlayer,
                            GameController inGameController)
Constructeur à partir du joueur, du contrôleur et de la carte initiale.

Parameters:
inLocalPlayer - joueur local.
inGameController - référence sur le contrôleur.
Method Detail

init

protected void init(InputCard inDefaultCard,
                    Object inCookie)
Initialisation à partir de la carte par défaut. Peut être appelé plusieurs fois pour réinitialiser la pile.

Parameters:
inDefaultCard - carte par défaut (de saisie)
inCookie - biscuit pour la carte par défaut.

getLocalPlayer

public final LocalPlayer getLocalPlayer()
Accesseur sur l'agent.

Returns:
une référence sur le joueur local.

getGameController

public final GameController getGameController()
Accesseur sur la fenêtre principale.

Returns:
une référence sur la fenêtre principale.

getCurrentCard

public final InterfaceCard getCurrentCard()
Accesseur sur la carte courante.

Returns:
une référence sur la carte courante.

hasNextCard

public final boolean hasNextCard()
Est-ce qu'on peut avancer dans la pile.

Returns:
\c true si on peut avancer dans la pile, \c false sinon.

hasPreviousCard

public final boolean hasPreviousCard()
Est-ce qu'on peut reculer dans la pile.

Returns:
\c true si on peut reculer dans la pile, \c false sinon.

countCards

public final int countCards()
Retourne le nombre de cartes.

Returns:
le nombre de cartes dans la pile.

getCurrentCardIndex

public final int getCurrentCardIndex()
Retourne l'indice de la carte actuelle (base 1).

Returns:
l'indice de la carte actuelle.

showCurrentCard

private void showCurrentCard()
Affiche la carte courante de la pile.


showDefaultCard

public final void showDefaultCard()
Affiche la carte par défaut (de saisie).


showPreviousCard

public final void showPreviousCard()
Revient en arrière dans l'historique des cartes.


showNextCard

public final void showNextCard()
Avance dans l'historique des cartes.


addEventCard

protected final void addEventCard(EventCard inCard)
Ajoute une carte d'événement et l'affiche si nécesssaire. Version sans biscuit.

Parameters:
inCard - carte à ajouter.

addEventCard

protected final void addEventCard(EventCard inCard,
                                  Object inCookie)
Ajoute une carte d'événement et l'affiche si nécesssaire.

Parameters:
inCard - carte à ajouter.
inCookie - biscuit pour la carte.

setInputCard

protected final void setInputCard(InputCard inCard)
Change la carte de saisie, sans biscuit.

Parameters:
inCard - nouvelle carte de saisie.

setInputCard

protected final void setInputCard(InputCard inCard,
                                  Object inCookie)
Change la carte de saisie.

Parameters:
inCard - nouvelle carte de saisie.
inCookie - biscuit pour la carte.

showCard

protected final void showCard(InterfaceCard inCard)
Affiche une carte donnée, sans biscuit.

Parameters:
inCard - carte à afficher.

showCard

protected final void showCard(InterfaceCard inCard,
                              Object inCookie)
Affiche une carte donnée.

Parameters:
inCard - carte à afficher.
inCookie - biscuit pour la carte.