コード例 #1
0
    def __init__(self):
        event_manager.register_listener(self, [QuitEvent])
        event_manager.post(
            RegisterKeyboardEvent(pygame.locals.KEYDOWN,
                                  pygame.locals.K_ESCAPE, QuitEvent))

        self.keep_going = True
コード例 #2
0
ファイル: view.py プロジェクト: taggartaa/conveyor
    def notify(self, event):
        if isinstance(event, TickEvent):
            self._redraw(event.since_last)

        elif isinstance(event, RefreshScreenEvent):
            self._refresh(event.surface)

        elif isinstance(event, ScrollEvent):
            self._set_scroll(event.direction, event.speed)

        elif isinstance(event, ZoomEvent):
            self._set_zoom(event.direction, event.speed)

        elif isinstance(event, FactoryObjectCreatedEvent):
            if isinstance(event.obj, Drawable):
                if event.obj.layer not in self._layers:
                    self._layers.append(event.obj.layer)
                    #self._layers.sort()

        elif isinstance(event, GameStartedEvent):
            event_manager.unregister_listener(self, [GameStartedEvent])
            event_manager.register_listener(self, [TickEvent])

        elif isinstance(event, QuitEvent):
            pygame.display.quit()
            event_manager.unregister_listener(self)
コード例 #3
0
ファイル: view.py プロジェクト: taggartaa/conveyor
    def notify(self, event):
        if isinstance(event, TickEvent):
            self._redraw(event.since_last)
            
        elif isinstance(event, RefreshScreenEvent):
            self._refresh(event.surface)
            
        elif isinstance(event, ScrollEvent):
            self._set_scroll(event.direction, event.speed)

        elif isinstance(event, ZoomEvent):
            self._set_zoom(event.direction, event.speed)
            
        elif isinstance(event, FactoryObjectCreatedEvent):
            if isinstance(event.obj, Drawable):
                if event.obj.layer not in self._layers:
                    self._layers.append(event.obj.layer)
                    #self._layers.sort()
                    
        elif isinstance(event, GameStartedEvent):
            event_manager.unregister_listener(self, [GameStartedEvent])
            event_manager.register_listener(self, [TickEvent])
            
        elif isinstance(event, QuitEvent):
            pygame.display.quit()
            event_manager.unregister_listener(self)
コード例 #4
0
ファイル: view.py プロジェクト: taggartaa/conveyor
 def __init__(self):
     event_manager.register_listener(self, [GameStartedEvent, FactoryObjectCreatedEvent,
                                                  RefreshScreenEvent, ScrollEvent, ZoomEvent, QuitEvent])
     self._original_view_rectangle = Rectangle(0, 0, 500, 500)
     self._view_rectangle = Rectangle(0, 0, 500, 500)
     self._view_bounds = None
     self._setup_pygame()
     self._setup_keyboard_events()
     self._layers = []
     self._scroll_velocity = Vector(0,0)
     self._scroll_buffer = Vector(0,0)
     self._scale_factor = 1
コード例 #5
0
ファイル: view.py プロジェクト: taggartaa/conveyor
 def __init__(self):
     event_manager.register_listener(self, [
         GameStartedEvent, FactoryObjectCreatedEvent, RefreshScreenEvent,
         ScrollEvent, ZoomEvent, QuitEvent
     ])
     self._original_view_rectangle = Rectangle(0, 0, 500, 500)
     self._view_rectangle = Rectangle(0, 0, 500, 500)
     self._view_bounds = None
     self._setup_pygame()
     self._setup_keyboard_events()
     self._layers = []
     self._scroll_velocity = Vector(0, 0)
     self._scroll_buffer = Vector(0, 0)
     self._scale_factor = 1
コード例 #6
0
    def notify(self, event):
        if isinstance(event, TickEvent):
            #Handle Input Events
            for event in pygame.event.get():
                key = None

                if event.type == pygame.locals.QUIT:
                    event_manager.post(QuitEvent())

                elif event.type in (pygame.locals.KEYUP,
                                    pygame.locals.KEYDOWN):
                    key = event.key

                elif event.type in (pygame.locals.MOUSEBUTTONUP,
                                    pygame.locals.MOUSEBUTTONDOWN):
                    key = event.button

                try:

                    for eventType in self._keyboard_events[
                            event.type][key].keys():
                        event_manager.post(eventType())
                except KeyError:
                    pass

        elif isinstance(event, RegisterKeyboardEvent):
            if not self._keyboard_events.has_key(event.event_type):
                self._keyboard_events[event.event_type] = dict()

            if not self._keyboard_events[event.event_type].has_key(
                    event.event_key):
                self._keyboard_events[event.event_type][
                    event.event_key] = dict()

            if not self._keyboard_events[event.event_type][
                    event.event_key].has_key(event.eventType):
                self._keyboard_events[event.event_type][event.event_key][
                    event.eventType] = 1
            else:
                self._keyboard_events[event.event_type][event.event_key][
                    event.eventType] += 1

        elif isinstance(event, GameStartedEvent):
            event_manager.unregister_listener(self, [GameStartedEvent])
            event_manager.register_listener(self, [TickEvent])

        elif isinstance(event, QuitEvent):
            event_manager.unregister_listener(self)
コード例 #7
0
ファイル: config.py プロジェクト: taggartaa/conveyor
    def __init__(self, data_path):
        event_manager.register_listener(self, [TickEvent, QuitEvent])
        self._map_factory = MapFactory()
        self._sprite_factory = SpriteFactory()
        self._sprite_sheet_factory = SpriteSheetFactory()
        self._load_step = 0
	
        self._load_order = ['spritesheet', 'sprite', 'map']
    
        self._tags = {'spritesheet' :   SpriteSheetPreloadEvent,
                      'sprite':         SpritePreloadEvent,
                      'map' :           MapPreloadEvent}

        self._paths = {'{DATA_PATH}' :      data_path,
                       '{IMAGES}' :         'images',
                       '{MAPS}' :           'maps'}
コード例 #8
0
    def __init__(self, data_path):
        event_manager.register_listener(self, [TickEvent, QuitEvent])
        self._map_factory = MapFactory()
        self._sprite_factory = SpriteFactory()
        self._sprite_sheet_factory = SpriteSheetFactory()
        self._load_step = 0

        self._load_order = ['spritesheet', 'sprite', 'map']

        self._tags = {
            'spritesheet': SpriteSheetPreloadEvent,
            'sprite': SpritePreloadEvent,
            'map': MapPreloadEvent
        }

        self._paths = {
            '{DATA_PATH}': data_path,
            '{IMAGES}': 'images',
            '{MAPS}': 'maps'
        }
コード例 #9
0
 def __init__(self, key, layer, tiles, active, size, unit_size):
     ''' Constructor
         key             - A unique name given to this map.
         layer           - The layer this Map is on.
         tiles           - A list of tiles on the Map.
         active          - Determins if the map is currently visable.
         size            - The size of the map in pixels.
     '''
     Drawable.__init__(self, layer)
     
     self.key = key
     self.size = size
     
     event_manager.register_listener(self, [DrawLayerEvent, QuitEvent])
     self._tiles = tiles
     self._unit_size = unit_size
     self._active = active
     self._scale_factor = 1
     
     self.initialize()
コード例 #10
0
ファイル: keyboard.py プロジェクト: taggartaa/conveyor
    def notify(self, event):
	if isinstance( event, TickEvent ):
	    #Handle Input Events
	    for event in pygame.event.get():
                key = None

                if event.type == pygame.locals.QUIT:
		    event_manager.post(QuitEvent())
		    
		elif event.type in (pygame.locals.KEYUP, pygame.locals.KEYDOWN):
                    key = event.key

                elif event.type in (pygame.locals.MOUSEBUTTONUP, pygame.locals.MOUSEBUTTONDOWN):
                    key = event.button
		    
                try:
                    
                    for eventType in self._keyboard_events[event.type][key].keys():
                        event_manager.post(eventType())
                except KeyError:
                    pass
		    
	elif isinstance(event, RegisterKeyboardEvent):
            if not self._keyboard_events.has_key(event.event_type):
                self._keyboard_events[event.event_type] = dict()
                
            if not self._keyboard_events[event.event_type].has_key(event.event_key):
                self._keyboard_events[event.event_type][event.event_key] = dict()

            if not self._keyboard_events[event.event_type][event.event_key].has_key(event.eventType):
                self._keyboard_events[event.event_type][event.event_key][event.eventType] = 1
            else:
                self._keyboard_events[event.event_type][event.event_key][event.eventType] += 1
                
	elif isinstance(event, GameStartedEvent):
            event_manager.unregister_listener(self, [GameStartedEvent])
            event_manager.register_listener(self, [TickEvent])

        elif isinstance(event, QuitEvent):
            event_manager.unregister_listener(self)
コード例 #11
0
ファイル: main.py プロジェクト: taggartaa/conveyor
 def __init__(self):
     event_manager.register_listener(self, [TickEvent, RefreshScreenEvent])
     self._cur_time = 0
     self._refreshes = 0
コード例 #12
0
 def __init__(self):
     ''' Constructor
         event_manager - The event manager to send the Map creation events to.
     '''
     event_manager.register_listener(self, [MapPreloadEvent, QuitEvent])
コード例 #13
0
ファイル: cpu_spinner.py プロジェクト: taggartaa/conveyor
    def __init__(self):
	event_manager.register_listener( self, [QuitEvent] )
	event_manager.post(RegisterKeyboardEvent(pygame.locals.KEYDOWN, pygame.locals.K_ESCAPE, QuitEvent))

	self.keep_going = True
コード例 #14
0
ファイル: game.py プロジェクト: taggartaa/conveyor
    def __init__(self, data_path):
        event_manager.register_listener(self, [ResourcesLoadedEvent, QuitEvent])
        self._state = STATE.Preparing

        self._initialize_components(data_path)
コード例 #15
0
ファイル: main.py プロジェクト: taggartaa/conveyor
 def __init__(self):
     event_manager.register_listener(self, [Event])
コード例 #16
0
 def __init__(self):
     ''' Constructor
         event_manager - the event manager to send SpriteSheet creation events to.
     '''
     event_manager.register_listener(self,
                                     [SpriteSheetPreloadEvent, QuitEvent])
コード例 #17
0
ファイル: main.py プロジェクト: taggartaa/conveyor
 def __init__(self):
     event_manager.register_listener(self, [TickEvent, RefreshScreenEvent])
     self._cur_time = 0
     self._refreshes = 0
コード例 #18
0
ファイル: main.py プロジェクト: taggartaa/conveyor
 def __init__(self):
     event_manager.register_listener(self, [Event])
コード例 #19
0
 def __init__(self):
     ''' Constructor
         event_manager - the event manager to send SpriteSheet creation events to.
     '''
     event_manager.register_listener(self, [SpriteSheetPreloadEvent, QuitEvent])
コード例 #20
0
ファイル: game.py プロジェクト: taggartaa/conveyor
    def __init__(self, data_path):
        event_manager.register_listener(self,
                                        [ResourcesLoadedEvent, QuitEvent])
        self._state = STATE.Preparing

        self._initialize_components(data_path)
コード例 #21
0
 def __init__(self):
     event_manager.register_listener(
         self, [GameStartedEvent, RegisterKeyboardEvent, QuitEvent])
     self._keyboard_events = dict()
コード例 #22
0
ファイル: resources.py プロジェクト: taggartaa/conveyor
 def __init__(self):
     event_manager.register_listener(self, [FactoryObjectCreatedEvent])
     self.resource_dictionary = dict()
コード例 #23
0
ファイル: keyboard.py プロジェクト: taggartaa/conveyor
    def __init__(self):
	    event_manager.register_listener(self, [GameStartedEvent, RegisterKeyboardEvent, QuitEvent])
	    self._keyboard_events = dict()