Pull SelectableSurfActor out of vehicles.
[koperkapel.git] / koperkapel / actors / orientatedsurf.py
index ae79c43007d78a4ca28c19de52a352a53fd86655..284ac71f2e5779e48812b975e91e762fd47a6564 100644 (file)
@@ -39,3 +39,20 @@ class OrientatedSurfActor(SurfActor):
         self._base_surf = surf
         self._orig_surf = self._surf = rotate(surf, self._angle)
         self._update_pos()
+
+
+class SelectableSurfActor(OrientatedSurfActor):
+    def __init__(self, seat, selected_seat):
+        self._selected = False
+        self._seat = seat
+        self._selected_seat = selected_seat
+        super().__init__(surf=self._seat, angle=0)
+
+    @property
+    def selected(self):
+        return self._selected
+
+    @selected.setter
+    def selected(self, value):
+        self._selected = value
+        self.surf = self._selected_seat if value else self._seat