+ (container-commands #:init-value '())
+ (message-handler
+ #:init-value
+ (simple-dispatcher gameobj-actions)))
+
+
+;;; gameobj message handlers
+;;; ========================
+
+(define-mhandler (gameobj-get-commands actor message verb)
+ (<-reply actor message #:commands (slot-ref actor 'commands)))
+
+(define-mhandler (gameobj-get-container-commands actor message verb)
+ (<-reply actor message #:commands (slot-ref actor 'container-commands)))
+
+(define-mhandler (gameobj-get-children actor message)
+ (define children
+ (hash-map->list (lambda (key val) key)
+ (gameobj-children actor)))
+
+ (<-reply actor message
+ #:children children))
+
+(define-mhandler (gameobj-set-loc! player message id)
+ (format #t "DEBUG: Location set to ~s for player ~s\n"
+ id (actor-id-actor player))
+ (set! (gameobj-loc player) id))