;;; Players
;;; =======
+(define player-actions
+ (build-actions
+ (init (wrap-apply player-init!))
+ (handle-input (wrap-apply player-handle-input))))
+
+(define player-actions*
+ (append player-actions
+ gameobj-actions))
+
(define-class <player> (<gameobj>)
(username #:init-keyword #:username
#:accessor player-username)
(message-handler
#:init-value
;; @@: We're gonna need action inheritance real awful soon, huh?
- (make-action-dispatch
- (set-loc! (wrap-apply player-set-loc!))
- (init (wrap-apply player-init!))
- (handle-input (wrap-apply player-handle-input)))))
+ (simple-dispatcher player-actions*)))
-;;; player message handlers
-(define-mhandler (player-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))
+;;; player message handlers
(define-mhandler (player-init! player message)
(player-look-around player))