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