/******************************************************************************* * Copyright (c) 2001, 2010 Mathew A. Nelson and Robocode contributors * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://robocode.sourceforge.net/license/epl-v10.html * * Contributors: * Pavel Savara * - Initial implementation * Flemming N. Larsen * - Javadocs *******************************************************************************/ package robocode.robotinterfaces; /** * A robot interface for creating an interactive type of robot like * {@link robocode.Robot} and {@link robocode.AdvancedRobot} that is able to * receive interactive events from the keyboard or mouse. * If a robot is directly inherited from this class it will behave as similar to * a {@link IBasicRobot}. If you need it to behave similar to a * {@link IAdvancedRobot} or {@link ITeamRobot}, you should inherit from these * interfaces instead, as these are inherited from this interface. * * @author Pavel Savara (original) * @author Flemming N. Larsen (javadoc) * @see robocode.Robot * @see robocode.AdvancedRobot * @see IBasicRobot * @see IJuniorRobot * @see IAdvancedRobot * @see ITeamRobot * @since 1.6 */ public interface IInteractiveRobot extends IBasicRobot { /** * This method is called by the game to notify this robot about interactive * events, i.e. keyboard and mouse events. Hence, this method must be * implemented so it returns your {@link IInteractiveEvents} listener. * * @return listener to interactive events or {@code null} if this robot * should not receive the notifications. * @since 1.6 */ IInteractiveEvents getInteractiveEventListener(); }