001 package com.croftsoft.apps.mars.controller; 002 003 import java.awt.*; 004 import java.awt.event.*; 005 006 import com.croftsoft.core.lang.NullArgumentException; 007 008 import com.croftsoft.apps.mars.view.GameAnimator; 009 010 /********************************************************************* 011 * Toggles planned path display. 012 * 013 * @version 014 * 2003-04-30 015 * @since 016 * 2003-04-30 017 * @author 018 * <a href="https://www.croftsoft.com/">David Wallace Croft</a> 019 *********************************************************************/ 020 021 public final class GameAnimatorController 022 extends KeyAdapter 023 ////////////////////////////////////////////////////////////////////// 024 ////////////////////////////////////////////////////////////////////// 025 { 026 027 private final GameAnimator gameAnimator; 028 029 ////////////////////////////////////////////////////////////////////// 030 ////////////////////////////////////////////////////////////////////// 031 032 public GameAnimatorController ( 033 GameAnimator gameAnimator, 034 Component component ) 035 ////////////////////////////////////////////////////////////////////// 036 { 037 NullArgumentException.check ( this.gameAnimator = gameAnimator ); 038 039 component.addKeyListener ( this ); 040 041 component.requestFocus ( ); 042 } 043 044 ////////////////////////////////////////////////////////////////////// 045 // interface KeyListener methods 046 ////////////////////////////////////////////////////////////////////// 047 048 public void keyPressed ( KeyEvent keyEvent ) 049 ////////////////////////////////////////////////////////////////////// 050 { 051 if ( keyEvent.getKeyCode ( ) == KeyEvent.VK_P ) 052 { 053 gameAnimator.togglePathAnimator ( ); 054 } 055 } 056 057 ////////////////////////////////////////////////////////////////////// 058 ////////////////////////////////////////////////////////////////////// 059 }