- (receive (post-run-hook gameobj-injector)
- (make-special-injector agenda hive (actor-id gm))
- ;; Set up injector for live hacking
- (set! inject-gameobj! gameobj-injector)
-
- ;; Set up REPL sever
- (cond
- ;; If repl-server is an integer, we'll use that as the port
- ((integer? repl-server)
- (spawn-and-queue-repl-server! agenda repl-server))
- (repl-server
- (spawn-and-queue-repl-server! agenda)))
-
- (start-agenda agenda
- #:post-run-hook post-run-hook)))
-
-
-(define (do-inject-special! queue hive gm-id game-spec special-symbol)
- (define gameobj-spec
- (or (find
- (lambda (entry) (eq? (car entry) special-symbol))
- game-spec)
- (throw 'no-such-symbol "Can't find such a symbol in the game-spec"
- #:symbol special-symbol)))
- (define task
- (bootstrap-message hive gm-id 'inject-special!
- #:special-symbol special-symbol
- #:gameobj-spec gameobj-spec))
- (enq! queue task)
- 'done)