package gizmoball.ui.r2;

import gizmoball.ui.AbstractGameBoardComponent;
import gizmoball.ui.AbstractInteractionMode;

import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;

import org.apache.log4j.Logger;

/**
 * An interaction mode active when the game is being
 * played.  Most of the features are deactivated; only
 * keypresses are registered and passed to the gameboard
 * to fire the appropriate triggers.
 * 
 * @author Albert Leung
 * @version $Id: R2PlayingInteractionMode.java,v 1.6 2004/04/27 19:10:11 aleung Exp $
 * 
 */
public class R2PlayingInteractionMode extends AbstractInteractionMode {

	private static Logger logger = Logger.getLogger(R2PlayingInteractionMode.class);

	public R2PlayingInteractionMode(AbstractGameBoardComponent component) {
		super(component);		
	}

	/* (non-Javadoc)
	 * @see java.awt.event.KeyListener#keyPressed(java.awt.event.KeyEvent)
	 */
	public void keyPressed(KeyEvent arg0) {
		this.getGameBoardComponent().getGameBoard().fireKeypressTrigger(arg0.getKeyCode());
		logger.debug("Keypress: " + arg0.getKeyCode());
	}

	/* (non-Javadoc)
	 * @see java.awt.event.KeyListener#keyReleased(java.awt.event.KeyEvent)
	 */
	public void keyReleased(KeyEvent arg0) {
		this.getGameBoardComponent().getGameBoard().fireKeypressTrigger(arg0.getKeyCode());
		logger.debug("Keyrelease: " + arg0.getKeyCode());
	}

	/* (non-Javadoc)
	 * @see java.awt.event.KeyListener#keyTyped(java.awt.event.KeyEvent)
	 */
	public void keyTyped(KeyEvent arg0) {
		// TODO Auto-generated method stub

	}

	public void undo() {
		//not used in PlayingInteractionMode
	}

	public void setSnapToGrid(boolean value) {
		//not used in PlayingInteractionMode

	}

	public void setShowIncomingConnections(boolean value) {
		//not used in PlayingInteractionMode

	}

	public void setShowOutgoingConnections(boolean value) {
		//not used in PlayingInteractionMode

	}

	/* (non-Javadoc)
	 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
	 */
	public void mouseClicked(MouseEvent arg0) {

	}

	/* (non-Javadoc)
	 * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
	 */
	public void mouseEntered(MouseEvent arg0) {

	}

	/* (non-Javadoc)
	 * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
	 */
	public void mouseExited(MouseEvent arg0) {

	}

	/* (non-Javadoc)
	 * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
	 */
	public void mousePressed(MouseEvent arg0) {

	}

	/* (non-Javadoc)
	 * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
	 */
	public void mouseReleased(MouseEvent arg0) {

	}

	/* (non-Javadoc)
	 * @see java.awt.event.MouseMotionListener#mouseDragged(java.awt.event.MouseEvent)
	 */
	public void mouseDragged(MouseEvent arg0) {

	}

	/* (non-Javadoc)
	 * @see java.awt.event.MouseMotionListener#mouseMoved(java.awt.event.MouseEvent)
	 */
	public void mouseMoved(MouseEvent arg0) {

	}

}
