from Fountain.Component import Component from Fountain.Utils import enum Direction = enum('UP', 'DOWN', 'LEFT', 'RIGHT') class Orientation2D(Component): def __init__(self, direction=Direction.DOWN): self._orientation = direction @property def direction(self): return self._orientation @direction.setter def direction(self, value): self._orientation = value
import uuid from Messages import Messages from Fountain.Utils import enum from Entity import Entity EngineType = enum('UPDATE', 'RENDER', 'MANUAL') class World(object): def __init__(self): self._entities = {} self._engines = {} @property def entities(self): return self._entities @property def updateEngines(self): return set(self._engines[EngineType.UPDATE]) @property def renderEngines(self): return set(self._engines[EngineType.RENDER]) @property def engines(self): return [e for v in self._engines.values() for e in v] def createEntity(self): uid = uuid.uuid1() entity = Entity(self, uid) return entity