EventManager is passed the current event from Gamelet and delivers the event to all objects that requested an event of the current type. Simple games that don't require drag'n drop or multiple views will define all Actors and game functionality within the game controller, a subclass of Gamelet. However, when games require more complexity, Scenes allow for the developer to segment the game into independent sections. A scene may be used to segment a game into parts where the functionality of a game changes significantly enough to warrant a new set of Actors and a new ActorManager. This is useful for arcade games that have an intermission animation sequence, or separate game level.
Scenes are also useful for displaying multiple views at the same time.
This can be used with games where different perspectives are visible at the same time, as in a tank game with left, front, and right views. Or where the actors within the Scenes are independent of the other Scene's actors. Each Scene runs within it's own thread. With multiple Scenes, the game developer can implement drag'n drop across the Scenes. The Scene class defines methods which provide drag'n drop functionality and can specifying what behaviour a specific Scene adopts for drag'n drop.