Source code for xoinvader.state

"""Provides abstract game state."""


[docs]class State(object): """Represents game state skeleton. .. warning:: implement actor base class :param owner: state's owner :type owner: `xoinvader.application.Application` """ def __init__(self, owner): self._owner = owner self._actor = None self._screen = None # TODO: self._music = None @property def owner(self): """State's owner. :getter: yes :setter: no :type: :class:`xoinvader.application.Application` """ return self._owner @property def actor(self): """Controllable object. :getter: yes :setter: no :type: object """ return self._actor @property def screen(self): """Screen for rendering state's objects. :getter: yes :setter: no :type: `curses.Window` """ return self._screen
[docs] def events(self): "Event handler, calls by `Application.loop` method." raise NotImplementedError
[docs] def update(self): "Update handler, calls by `Application.loop` method." raise NotImplementedError
[docs] def render(self): "Render handler, calls by `Application.loop` method." raise NotImplementedError