This repository has been archived on 2019-12-09. You can view files and clone it, but cannot push or open issues or pull requests.
pacman2/engine/components/collide_rect.py
papush! e8be8b52ab ajout d’Observer, le composant physique suit l’entité
implémentation du patron Observateur dans la classe Observer qui
permet à un objet d’être notifié quand une propriété d’un autre objet
est modifiée. CollideRect observe maintenant les propriétés x et y de
l’entité à laquelle il appartient et met à jour son rect accordément.
2019-12-07 12:33:50 +01:00

25 lines
674 B
Python

from .component import Component
from ..servers.physics import PhysicsServer
class CollideRect(Component):
def __init__(self, parent, rect, static=True, solid=True):
super().__init__(parent)
self.rect = rect
def x_change_cb(x):
self.rect.x = x
def y_change_cb(y):
self.rect.y = y
parent.subscribe('x', x_change_cb)
parent.subscribe('y', y_change_cb)
self.static = static
self.solid = solid
self.vx = 0
self.vy = 0
def register(self):
PhysicsServer().register_component(self)
def unregister(self):
PhysicsServer().register_component(self)