summaryrefslogtreecommitdiffstats
path: root/ps_forced.gd
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2025-11-29 12:20:32 +0200
committerJan Tuomi <jan@jantuomi.fi>2025-11-29 12:20:32 +0200
commit3c3d0c3bfd9bac15b4406318c27a91954c3e7697 (patch)
tree028d8f5f7bb89aa14b4674cdc42eb30c53adbde7 /ps_forced.gd
parent121c3ca9c0080005bdeebc6827aecf2b36721286 (diff)
Store player ref in state scripts
Diffstat (limited to 'ps_forced.gd')
-rw-r--r--ps_forced.gd23
1 files changed, 12 insertions, 11 deletions
diff --git a/ps_forced.gd b/ps_forced.gd
index 9a8b41a..76c15b5 100644
--- a/ps_forced.gd
+++ b/ps_forced.gd
@@ -4,10 +4,9 @@ extends PlayerState
var input_x: float
var jump_coef = 1.3
-func _to_string() -> String:
- return "PlayerStateForced"
+func _init(pl: Player, dir: String):
+ super(pl)
-func initialize(p: Player, dir: String):
if dir == "LEFT":
input_x = -1.0
elif dir == "JUMP_LEFT":
@@ -25,21 +24,23 @@ func initialize(p: Player, dir: String):
elif dir == "DROP":
input_x = 0.0
-func _handle(p: Player, _delta: float):
- var as2d = p.get_node("AnimatedSprite2D")
+func _to_string() -> String:
+ return "PlayerStateForced"
+
+func _handle(_delta: float):
if p.velocity.x > 0:
- as2d.flip_h = false
+ p.anim_sp.flip_h = false
elif p.velocity.x < 0:
- as2d.flip_h = true
+ p.anim_sp.flip_h = true
if not p.is_on_floor():
- as2d.set_animation("jump")
+ p.anim_sp.set_animation("jump")
elif abs(p.velocity.x) > 0.0:
- as2d.set_animation("walk")
+ p.anim_sp.set_animation("walk")
else:
- as2d.set_animation("idle")
+ p.anim_sp.set_animation("idle")
-func _handle_physics(p: Player, delta: float):
+func _handle_physics(delta: float):
p.velocity.y += p.gravity * delta
if p.velocity.y > p.jump_strength:
p.velocity.y = p.jump_strength