Changeset 231
- Timestamp:
- Sat Apr 1 07:01:13 2006
- Files:
-
- subprojects/CoveCrisis/spritestream/player.py (modified) (diff)
- subprojects/CoveCrisis/spritestream/__init__.py (modified) (diff)
- subprojects/CoveCrisis/spritestream/events.py (modified) (diff)
- subprojects/CoveCrisis/spritestream/containers.py (modified) (diff)
- subprojects/CoveCrisis/spritestream/game.py (modified) (diff)
- subprojects/CoveCrisis/bin/CoveCrisis.py (modified) (diff)
- subprojects/CoveCrisis/runtests.py (modified) (diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
subprojects/CoveCrisis/spritestream/player.py
r224 r231 1 1 '''spritestream/player.py 2 2 ''' 3 from xix.utilsimport container3 from spritestream import container 3 3 4 4 -
subprojects/CoveCrisis/spritestream/__init__.py
r223 r231 8 8 configFactory.addResource('spritestream.cfg', cfgfilename) 9 9 10 from spritestream.events import EventSource -
subprojects/CoveCrisis/spritestream/events.py
r230 r231 1 1 '''spritstream/events.py 2 2 ''' 3 from pygame import event 3 4 from spritestream import containers 4 5 5 class EventSource:(containers.Containable): 6 pass 6 EV_PRE = 'ev_' 7 7 8 class Master(containers.Container): 9 def init(self): 10 self.listeners = {} 11 12 def addListener(self, listener): 13 listeners = self.listeners 14 for act_evn in listener.active_evnames: 15 listeners[act_evn] = listener 16 17 def removeListener(self, evname, *listeners): 18 pass 19 20 def notify(self, evname, *args, **kwargs): 21 try: 22 active_listeners = self.listeners[evname] 23 except KeyError, e: 24 return 25 26 for l in active_listeners: 27 l.notify(evname, *args, **kwargs) 28 29 def start(self): 30 pass 31 32 33 master = Master() 8 34 9 class FrameRate(EventSource):10 pass11 35 36 class Listener(containers.Containable): 37 def __init__(self, obj, *active_evnames): 38 self.obj = obj 39 self.active_evnames = active_evnames 40 self.callbacks = {} 41 self.init() 12 42 13 class EventMaster(containers.Container): 43 def init(self): 44 # find and register callbacks 45 cbs = self.callbacks 46 obj = self.obj 47 for key in dir(obj): 48 if key.startswith(EV_PRE): 49 cbs[key[len(EV_PRE):] = getattr(obj, key) 50 51 master.registerListener(self) 52 53 def notify(self, evname, *args, **kwargs): 54 try: 55 cb = self.callbacks[evname] 56 except KeyError, e: 57 return 58 cb(*args, **kwargs) 59 60 61 class Source(containers.Containable): 62 evname = None 63 def init(self): 64 pass 65 66 67 class FrameRate(Source): 68 evname = 'tick' 14 69 pass 15 70 71 -
subprojects/CoveCrisis/spritestream/containers.py
r230 r231 2 2 ''' 3 3 4 from zope.interface import Interface, implements 5 6 class IContainer(Interface): 7 """Hmmm.... is is interface requires nothing? 8 """ 9 10 class IContainable(Interface): 11 """... 12 """ 13 4 14 class Container(object): 15 """ 16 17 >>> from zope.interface.verify import verifyClass 18 >>> verifyClass(IContainer, Container) 19 True 20 """ 21 implements(IContainer) 5 22 pass 6 23 7 24 8 25 class Containable(object): 26 """ 27 28 >>> from zope.interface.verify import verifyClass 29 >>> verifyClass(IContainable, Containable) 30 True 31 """ 32 implements(IContainable) 9 33 pass 34 35 -
subprojects/CoveCrisis/spritestream/game.py
r222 r231 30 30 self.sprites = sprites 31 31 self.players = players 32 self.listener = events.Listener(self) 32 self.listener = events.Listener(self, 'tick') 32 32 self.init() 33 33 -
subprojects/CoveCrisis/bin/CoveCrisis.py
r224 r231 5 5 6 6 import cove 7 import spritestream7 from spritestream import events 7 7 from spritesteam.plat.pygame import display 8 8 … … 16 16 def main(argv): 17 17 # We want to have specific configs for these 18 src = spritestream.EventMaster()18 evs = events.master 18 18 m = cove.Menus() 19 19 l = cove.Levels() … … 22 22 p = cove.Players() 23 23 g = cove.Game(display.PygameDisplay, m, l, s, p) 24 src.start()24 evs.start() 24 24 25 25 if __name__ == '__main__': -
subprojects/CoveCrisis/runtests.py
r218 r231 17 17 import spritestream.loaders.svg 18 18 import spritestream.plat.opengl.display 19 import spritestream.containers 19 20 20 21 __copyright__ = 'Copyright (c) 2006 teamfoo' … … 30 31 docfiles.sort() 31 32 32 doctests = (spritestream.loaders.svg, spritestream.plat.opengl.display) 33 doctests = (spritestream.loaders.svg, spritestream.plat.opengl.display, spritestream.containers) 32 33 33 34 def main():
