-(defmacro mob-structure (variables init logic render)
- `(list
- :init (lambda () ,init)
- :logic (lambda () ,logic)
- :render (lambda () ,render)
- :context (lambda ()
- ,(if variables
- `(mapcar #'list
- ',(mapcar #'car+ variables)
- (multiple-value-list
- (values-list ,(cons 'list (mapcar #'car+ variables)))))
- nil))))
+ (defun run-mobs (option &key args function)
+ (dolist (mob running-mobs)
+ (cond (function (funcall function)))
+ (secure-block nil (apply (symbol-function mob) (cons option args)))))