Esempio n. 1
0
    def __init__(self,
                 *,
                 engine: GameEngine,
                 inputs: Iterable[SoftwareInputs],
                 key_config: dict = None,
                 **kwargs):
        """
        Initialize the controller subsystem.

        It is advised that you do not initialize this subsystem outside of
        the engine.

        :param engine: The game engine this will be used in. Required.
        :param inputs: An iterable of Axis, Switch, or Impulse objects.
        :param key_config: A dictionary of string names and key or button
        values.
        :param kwargs: Additional kwargs, required in ppb Systems.
        """
        super().__init__(inputs=inputs, key_config=key_config, **kwargs)
        self.__values = {}
        self.__inputs = {}
        self.__key_config = key_config or {}
        for i in inputs:
            self.add(i)
        engine.register(events.Update, self.extend_update)
Esempio n. 2
0
def test_extending_all_events():
    def all_extension(event):
        event.test_value = "pursuedpybear"

    @dataclasses.dataclass
    class TestEvent:
        pass

    class TestScene(BaseScene):
        def on_update(self, event, signal):
            assert event.test_value == "pursuedpybear"

        def on_mouse_motion(self, event, signal):
            assert event.test_value == "pursuedpybear"

        def on_test_event(self, event, signal):
            assert event.test_value == "pursuedpybear"

    ge = GameEngine(TestScene)
    ge.start()  # We need test scene instantiated.
    ge.register(..., all_extension)

    ge.signal(events.Update(0.01))
    ge.publish()

    ge.signal(events.MouseMotion(Vector(0, 0), Vector(0, 0), Vector(0, 1), []))
    ge.publish()

    ge.signal(TestEvent())
    ge.publish()
Esempio n. 3
0
def test_extending_all_events():

    def all_extension(event):
        event.test_value = "pursuedpybear"

    @dataclasses.dataclass
    class TestEvent:
        pass


    class TestScene(BaseScene):

        def on_update(self, event, signal):
            assert event.test_value == "pursuedpybear"

        def on_mouse_motion(self, event, signal):
            assert event.test_value == "pursuedpybear"

        def on_test_event(self, event, signal):
            assert event.test_value == "pursuedpybear"

    ge = GameEngine(TestScene)
    ge.start()  # We need test scene instantiated.
    ge.register(..., all_extension)

    ge.signal(events.Update(0.01))
    ge.publish()

    ge.signal(events.MouseMotion(Vector(0, 0), Vector(0, 0), Vector(0, 1), []))
    ge.publish()

    ge.signal(TestEvent())
    ge.publish()