aboutsummaryrefslogtreecommitdiff
path: root/server/api/game-manager.lisp
diff options
context:
space:
mode:
authorLoic Guegan <manzerberdes@gmx.com>2019-05-09 18:38:31 +0200
committerLoic Guegan <manzerberdes@gmx.com>2019-05-09 18:38:31 +0200
commitd261883d4148a87ea8f6bb6cef16be406a2c0a10 (patch)
treec10fa38dbe394e3f4fc6269c0ba6cdfa7eed758e /server/api/game-manager.lisp
parentf0ccb136eb945b19d3d9eec61ad8a15a0a9ba993 (diff)
Update api
Diffstat (limited to 'server/api/game-manager.lisp')
-rw-r--r--server/api/game-manager.lisp8
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)))