Skip to content
Snippets Groups Projects
Commit 8a525759 authored by Adrien Lescourt's avatar Adrien Lescourt
Browse files

Add a stopped event

parent 4be3470f
Branches
No related tags found
No related merge requests found
......@@ -53,6 +53,7 @@ class Memory(ABC, threading.Thread, PiecesObserver):
if key == ord("r"):
self.reset()
if key == ord("q"):
self.stopped_trigger()
break
@abstractmethod
......
......@@ -69,6 +69,7 @@ class PiecesObserver:
def __init__(self):
self._pieces_observers = []
self._board_observers = []
self._stopped_observers = []
def bind_pieces(self, callback: Callable):
self._pieces_observers.append(callback)
......@@ -76,6 +77,9 @@ class PiecesObserver:
def bind_board(self, callback: Callable):
self._board_observers.append(callback)
def bind_stopped(self, callback: Callable):
self._stopped_observers.append(callback)
def piece_trigger(self, piece_id: int):
"""On every piece state change, send the piece id that changed"""
for callback in self._pieces_observers:
......@@ -85,3 +89,8 @@ class PiecesObserver:
"""On every frame, send the full board"""
for callback in self._board_observers:
callback(board)
def stopped_trigger(self):
"""On every frame, send the full board"""
for callback in self._stopped_observers:
callback()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment