class_name PlayerStateIdle extends PlayerState func _state_enter() -> void: get_viewport().get_camera_2d().global_position = player.global_position if player.current_direction == Vector2.UP: player.sprite.play("idle_up") elif player.current_direction == Vector2.DOWN: player.sprite.play("idle_down") elif player.current_direction == Vector2.LEFT: player.sprite.play("idle_left") elif player.current_direction == Vector2.RIGHT: player.sprite.play("idle_right") func _physics_process(_delta: float) -> void: if Input.is_action_just_pressed("ui_up"): player.current_direction = Vector2.UP player.set_state(player.state_moving) elif Input.is_action_just_pressed("ui_down"): player.current_direction = Vector2.DOWN player.set_state(player.state_moving) elif Input.is_action_just_pressed("ui_left"): player.current_direction = Vector2.LEFT player.set_state(player.state_moving) elif Input.is_action_just_pressed("ui_right"): player.current_direction = Vector2.RIGHT player.set_state(player.state_moving)