### robocode.robotinterfaces

# Interface IAdvancedRobot

All Superinterfaces:
  IBasicRobot

Known Subinterfaces:
  ITeamRobot

Known Implementing Classes:
  AdvancedRobot, TeamRobot

`public interface IAdvancedRobot`
`extends IBasicRobot`

A robot interface for creating a more advanced type of robot like `AdvancedRobot` that is able to handle advanced robot events. An advanced robot allows non-blocking calls, custom events, get notifications about skipped turns, and also allow writes to the file system.

Authors:
  Pavel Savara (original)
  Flemming N. Larsen (javadoc)

Since:
  1.6

See Also:
  `AdvancedRobot`, `IBasicRobot`, `IJuniorRobot`, `IInteractiveRobot`, `ITeamRobot`

  ## Method Summary

  `IAdvancedEvents`

  `getAdvancedEventListener()`
    This method is called by the game to notify this robot about advanced robot event.

  ### Methods inherited from interface robocode.robotinterfaces.IBasicRobot

  `getBasicEventListener`, `getRobotRunnable`, `setOut`, `setPeer`

## Method Details

### getAdvancedEventListener

    public IAdvancedEvents getAdvancedEventListener()

> This method is called by the game to notify this robot about advanced robot event. Hence, this method must be implemented so it returns your `IAdvancedEvents` listener.
> Returns:
>   listener to advanced events or `null` if this robot should not receive the notifications.
> Since:
>   1.6