def __init__(self, level_state): self.level = level_state self.level.map.load_graphics() self.map = self.level.map self.gfx_manager = GfxManager() pygame.time.set_timer(E_UPDATE_SPRITE_FRAMES, 200) pygame.time.set_timer(E_UPDATE_SPRITE_POSITIONS, 50) self.ui = TouhouUI(self.level) self.ui.generate_menus() self.event_catalog = {} self.assign_event_handler(QUIT, self.quit) self.assign_event_handler( E_UPDATE_SPRITE_FRAMES, self.map.frame_update) # For animated sprites self.assign_event_handler(E_UPDATE_SPRITE_POSITIONS, self.map.update_objects) # Movement self.assign_event_handler(E_USER_INPUT, self.ui_events) self.assign_event_handler(E_OBJECT_SIGNAL, self.object_events) self.assign_event_handler(KEYDOWN, self.ui.key_down) self.assign_event_handler(KEYUP, self.ui.key_up) self.assign_event_handler(MOUSEBUTTONDOWN, self.ui.update_mouse) self.assign_event_handler(MOUSEBUTTONUP, self.ui.update_mouse) self.assign_event_handler(MOUSEMOTION, self.ui.update_mouse)