indexing description: "[ Effective class for simple scenes. EM_SIMPLE_SCENE is also a drawable object container that contains the objects the scene consists of. Clients can use the class like a container to simply build simple scenes consisting out of drawable objects. When scene is running, all contained drawable objects get drawed onto `screen'. If you want that another scene is executed after the scene ends use the feature `set_next_scene' to set `next_scene' accordingly. If you want to end the program set `next_scene' to `Void'. Use animation features to get animatable objects (i.e. sprites) running. Like this all animatable objects get animated before the scene is redrawed. ]" date: "$Date$" revision: "$Revision$" class EM_SIMPLE_SCENE inherit EM_SCENE undefine copy, is_equal end EM_DRAWABLE_CONTAINER [EM_DRAWABLE] redefine make end create make feature -- Initialization make is -- Initialize empty scene. do make_scene Precursor{EM_DRAWABLE_CONTAINER} -- Set the `main_container' to be `Current' itself. main_container := Current end initialize_scene is -- Initialize the scene with contained drawable objects. -- Has to be called before `run' is called. -- (Descendants could redefine this feature to build -- the objects the scene is built of.) do end feature -- Status setting set_background_color (a_color: EM_COLOR) is -- Set `background_color' to `a_color'. do background_color := a_color ensure background_color_set: background_color = a_color end end