diff options
author | David Thompson <dthompson@vistahigherlearning.com> | 2020-04-16 22:01:22 -0400 |
---|---|---|
committer | David Thompson <dthompson@vistahigherlearning.com> | 2020-04-16 22:01:22 -0400 |
commit | 5b461c68e3194aef85bd175d51a30f205adb327f (patch) | |
tree | 0617cbd709fa6fa2be042dcb30ec541d540f0ba6 /lisparuga/actor.scm | |
parent | f08e14fd51e2b1f5920ac6816774c5e72cbee5c0 (diff) |
Day 6 progress.
Diffstat (limited to 'lisparuga/actor.scm')
-rw-r--r-- | lisparuga/actor.scm | 10 |
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) |