view world.py @ 160:75c0b728ccf3

Further work on the scripting system.
author KarstenBock@gmx.net
date Sun, 13 Nov 2011 17:19:14 +0100
parents 79d6b17b80a3
children 2a12e2843984
line wrap: on
line source

from parpg.bGrease.world import *
from parpg.bGrease.component import Component

from parpg.mode import FifeMode
from parpg import components
from parpg.components.fifeagent import commands
from parpg.systems import ScriptingSystem
from parpg.entities.action import ACTIONS

class World(FifeMode, BaseWorld):

    def __init__(self):
        FifeMode.__init__(self)
        BaseWorld.__init__(self)
        
    def configure(self):
        """Configure the game world's components, systems and renderers"""
        for name, component in components.components.iteritems():
            setattr(self.components, name, component)
        self.systems.scripting = ScriptingSystem(commands, ACTIONS)
    
    def pump(self, dt):
        for component in self.components:
            if hasattr(component, "step"):
                component.step(dt)
        for system in self.systems:
            if hasattr(system, "step"):
                system.step(dt)