diff options
| author | Loic Guegan <manzerberdes@gmx.com> | 2019-05-09 18:38:31 +0200 |
|---|---|---|
| committer | Loic Guegan <manzerberdes@gmx.com> | 2019-05-09 18:38:31 +0200 |
| commit | d261883d4148a87ea8f6bb6cef16be406a2c0a10 (patch) | |
| tree | c10fa38dbe394e3f4fc6269c0ba6cdfa7eed758e /server/api/game-manager.lisp | |
| parent | f0ccb136eb945b19d3d9eec61ad8a15a0a9ba993 (diff) | |
Update api
Diffstat (limited to 'server/api/game-manager.lisp')
| -rw-r--r-- | server/api/game-manager.lisp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/server/api/game-manager.lisp b/server/api/game-manager.lisp index e5355d1..751aae1 100644 --- a/server/api/game-manager.lisp +++ b/server/api/game-manager.lisp @@ -24,6 +24,14 @@ (with-slots (games) gm (setf games (remove-if #'(lambda (entry) (eql game-id (getf entry :id))) games)))) +(defgeneric dump (g game-id) + (:documentation "Dump a game in the Game manager. Return a plist.")) + +(defmethod dump ((g game-manager) game-id) + (with-slots (games) g + (append (list :id game-id) (remote-snake-server-game:dump (get-game g game-id))))) + + (defmethod get-game ((gm game-manager) game-id) (with-slots (games) gm (let ((game (remove-if-not #'(lambda (entry) (eql game-id (getf entry :id))) games))) |
