Useful custom-write for entities
This commit is contained in:
parent
40310a0eb3
commit
044860a3b5
|
@ -59,9 +59,13 @@
|
||||||
(require "field.rkt")
|
(require "field.rkt")
|
||||||
(require "support/counter.rkt")
|
(require "support/counter.rkt")
|
||||||
|
|
||||||
(struct entity (assert retract message sync))
|
(struct entity (id assert retract message sync)
|
||||||
|
#:methods gen:custom-write
|
||||||
|
[(define (write-proc e port mode)
|
||||||
|
(fprintf port "#<entity:~a>" (entity-id e)))])
|
||||||
(define-struct-defaults make-entity entity
|
(define-struct-defaults make-entity entity
|
||||||
(#:assert [entity-assert #f]
|
(#:_id [entity-id (generate-entity-id)]
|
||||||
|
#:assert [entity-assert #f]
|
||||||
#:retract [entity-retract #f]
|
#:retract [entity-retract #f]
|
||||||
#:message [entity-message #f]
|
#:message [entity-message #f]
|
||||||
#:sync [entity-sync #f]))
|
#:sync [entity-sync #f]))
|
||||||
|
@ -108,6 +112,7 @@
|
||||||
|
|
||||||
;;---------------------------------------------------------------------------
|
;;---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
(define generate-entity-id (make-counter))
|
||||||
(define generate-actor-id (make-counter))
|
(define generate-actor-id (make-counter))
|
||||||
(define generate-turn-id (make-counter))
|
(define generate-turn-id (make-counter))
|
||||||
(define generate-handle (make-counter))
|
(define generate-handle (make-counter))
|
||||||
|
|
Loading…
Reference in New Issue