summaryrefslogtreecommitdiff
path: root/lisparuga/actor.scm
diff options
context:
space:
mode:
authorDavid Thompson <dthompson@vistahigherlearning.com>2020-04-16 22:01:22 -0400
committerDavid Thompson <dthompson@vistahigherlearning.com>2020-04-16 22:01:22 -0400
commit5b461c68e3194aef85bd175d51a30f205adb327f (patch)
tree0617cbd709fa6fa2be042dcb30ec541d540f0ba6 /lisparuga/actor.scm
parentf08e14fd51e2b1f5920ac6816774c5e72cbee5c0 (diff)
Day 6 progress.
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)