summaryrefslogtreecommitdiff
path: root/lisparuga/actor.scm
diff options
context:
space:
mode:
Diffstat (limited to 'lisparuga/actor.scm')
-rw-r--r--lisparuga/actor.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/lisparuga/actor.scm b/lisparuga/actor.scm
index 5439e6b..625a2a1 100644
--- a/lisparuga/actor.scm
+++ b/lisparuga/actor.scm
@@ -93,7 +93,7 @@
(world-hitboxes #:accessor world-hitboxes #:init-form '())
(bullet-field #:accessor bullet-field #:init-keyword #:bullet-field))
-(define (sync-hitboxes actor)
+(define-method (sync-hitboxes (actor <actor>))
;; Sync hitboxes to world coordinates.
(let ((pos (position actor)))
(for-each (lambda (world-hitbox)
@@ -106,6 +106,14 @@
(map make-world-hitbox (hitboxes actor)))
(sync-hitboxes actor))
+(define-method (move-to (actor <actor>) x y)
+ (next-method)
+ (sync-hitboxes actor))
+
+(define-method (teleport (actor <actor>) x y)
+ (next-method)
+ (sync-hitboxes actor))
+
(define-method (update (actor <actor>) dt)
(let ((v (velocity actor)))
(unless (and (= (vec2-x v) 0.0)