net.sf.magicproject.clickable.mana
Class Mana

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by net.sf.magicproject.clickable.Clickable
                  extended by net.sf.magicproject.clickable.mana.Mana
All Implemented Interfaces:
java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener

public class Mana
extends Clickable

Representes the mana pool of one color of one player : BLACK,BLUE,GREEN,RED, WHITE,COLORLESS. A graphic, in function of mana's color is displayed with a label representing the amount of manas for this colored(less) mana. if we consider the opponent case, we have a reversed a rotation of PI to do.

Since:
0.3 support reversed mana picture for opponent, 0.53 "enableReverse" option, 0.60 extends MClickable class, 0.83 new mana representation of mana pool
Author:
Fabrice Daugan
See Also:
ManaPool, IdCommonToken.COLORLESS_MANA, IdCommonToken.BLACK_MANA, IdCommonToken.BLUE_MANA, IdCommonToken.GREEN_MANA, IdCommonToken.RED_MANA, IdCommonToken.WHITE_MANA, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
 int color
          color of this mana
 
Fields inherited from class net.sf.magicproject.clickable.Clickable
highLightColor, isHighLighted
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
 
Method Summary
 int addMana(int idNumber, Test restriction)
          Add a number of mana of this color
 void clickOn(java.io.InputStream input)
          This method is invoked when opponent has clicked on this object. this call should be done from the net.sf.magicproject.network listener
 int getMana()
          return the amount of mana of this color
 int getMana(Ability abilityRequest)
          return the amount of mana of this color
 Player getPlayer()
          return the player owning this mana
static void init(java.lang.String mdb)
          Upadte the mana pictures following the specified emulated TBS
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void paint(java.awt.Graphics g)
           
 int removeMana(int nb, Ability abilityRequest)
          Remove a number of mana of this color from the mana pool.
 int removeMana(int nb, Ability abilityRequest, ManaCost manaContext)
          Remove a number of mana of this color from the mana pool.
 void sendClickToOpponent()
          send to opponent the message indicating that we've clicked on this component
 int setToZero()
          empty the mana pool of this mana
 java.lang.String toString()
           
 
Methods inherited from class net.sf.magicproject.clickable.Clickable
disHighLight, disHighlight, highLight, mouseEntered, mouseExited, mousePressed, mouseReleased
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

color

public int color
color of this mana

Method Detail

init

public static void init(java.lang.String mdb)
Upadte the mana pictures following the specified emulated TBS

Parameters:
mdb -

getMana

public int getMana()
return the amount of mana of this color

Returns:
the amount of mana of this color

getMana

public int getMana(Ability abilityRequest)
return the amount of mana of this color

Parameters:
abilityRequest - the ability containing action requesting this mana
Returns:
the amount of mana of this color

setToZero

public int setToZero()
empty the mana pool of this mana

Returns:
the old pool of this mana

addMana

public int addMana(int idNumber,
                   Test restriction)
Add a number of mana of this color

Parameters:
idNumber - is the number of mana to add to the mana pool
restriction - the test defining mana usage
Returns:
the new pool of this mana

removeMana

public int removeMana(int nb,
                      Ability abilityRequest)
Remove a number of mana of this color from the mana pool.

Parameters:
nb - is the number of mana to remove from the mana pool
abilityRequest - the ability containing action requesting this mana
Returns:
amount of mana effectively removed from the mana pool.

removeMana

public int removeMana(int nb,
                      Ability abilityRequest,
                      ManaCost manaContext)
Remove a number of mana of this color from the mana pool.

Parameters:
nb - is the number of mana to remove from the mana pool
abilityRequest - the ability containing action requesting this mana
manaContext - is the action context containing information on mana cost of the requesting ability;
Returns:
amount of mana effectively removed from the mana pool.

paint

public void paint(java.awt.Graphics g)
Overrides:
paint in class javax.swing.JComponent
Since:
0.3 faster reverse draw without use of rotation
See Also:
Component.paint(java.awt.Graphics)

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener
Overrides:
mouseClicked in class Clickable

clickOn

public void clickOn(java.io.InputStream input)
This method is invoked when opponent has clicked on this object. this call should be done from the net.sf.magicproject.network listener

Parameters:
input - input stream of our net.sf.magicproject.network connection

sendClickToOpponent

public void sendClickToOpponent()
Description copied from class: Clickable
send to opponent the message indicating that we've clicked on this component

Specified by:
sendClickToOpponent in class Clickable

toString

public java.lang.String toString()
Overrides:
toString in class java.awt.Component

getPlayer

public Player getPlayer()
return the player owning this mana

Returns:
the player owning this mana


Copyright © 2003-2007 Magic-Project. All Rights Reserved.