diff options
| author | Jan Tuomi <jan@jantuomi.fi> | 2025-11-29 12:20:32 +0200 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2025-11-29 12:20:32 +0200 |
| commit | 3c3d0c3bfd9bac15b4406318c27a91954c3e7697 (patch) | |
| tree | 028d8f5f7bb89aa14b4674cdc42eb30c53adbde7 /player.gd | |
| parent | 121c3ca9c0080005bdeebc6827aecf2b36721286 (diff) | |
Store player ref in state scripts
Diffstat (limited to 'player.gd')
| -rw-r--r-- | player.gd | 24 |
1 files changed, 10 insertions, 14 deletions
@@ -7,7 +7,9 @@ extends CharacterBody2D @export var jump_held_coef: float @export var hook_distance_max: float -var state: PlayerState = PlayerStateInit.new() +var state: PlayerState = PlayerStateInit.new(self) +@onready var anim_sp: AnimatedSprite2D = $AnimatedSprite2D + var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") func get_facing() -> int: @@ -18,36 +20,30 @@ func get_facing() -> int: # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: - state._handle(self, delta) + state._handle(delta) func _physics_process(delta: float): - state._handle_physics(self, delta) + state._handle_physics(delta) #region movement type setters func set_movement_normal(): - state = PlayerStateNormal.new() + state = PlayerStateNormal.new(self) func set_movement_forced(dir: String): if state is PlayerStateForced: return - - var psf: PlayerStateForced = PlayerStateForced.new() - psf.initialize(self, dir) - state = psf + + state = PlayerStateForced.new(self, dir) func set_movement_curve(curve: Curve2D, c_speed: float, c_reverse: bool): if state is PlayerStateCurve: return - var psc: PlayerStateCurve = PlayerStateCurve.new() - psc.initialize(self, curve, c_speed, c_reverse) - state = psc + state = PlayerStateCurve.new(self, curve, c_speed, c_reverse) func set_movement_hanging(target: Node2D, hang_dist: float): if state is PlayerStateHanging: return if not PlayerStateHanging.can_hang_from(self, target): return - var psh: PlayerStateHanging = PlayerStateHanging.new() - psh.initialize(self, target, hang_dist) - state = psh + state = PlayerStateHanging.new(self, target, hang_dist) #endregion func handle_action_input(): |
