Files
ferma/scenes/characters/player/chopping_state.gd
2025-08-22 17:16:22 +05:00

47 lines
1.3 KiB
GDScript

extends NodeState
@export var player: Player
@export var animated_sprite_2d : AnimatedSprite2D
@export var hit_component_collision_shape : CollisionShape2D
func _ready() -> void:
hit_component_collision_shape.disabled = true
hit_component_collision_shape.position = Vector2(0, 0)
func _on_process(_delta : float) -> void:
pass
func _on_physics_process(_delta : float) -> void:
pass
func _on_next_transitions() -> void:
if !animated_sprite_2d.is_playing():
transition.emit("Idle")
func _on_enter() -> void:
if player.player_direction == Vector2.UP:
animated_sprite_2d.play("chopping_back")
hit_component_collision_shape.position = Vector2(0, -20)
elif player.player_direction == Vector2.RIGHT:
animated_sprite_2d.play("chopping_right")
hit_component_collision_shape.position = Vector2(9, 0)
elif player.player_direction == Vector2.DOWN:
animated_sprite_2d.play("chopping_front")
hit_component_collision_shape.position = Vector2(0, 3)
elif player.player_direction == Vector2.LEFT:
animated_sprite_2d.play("chopping_left")
hit_component_collision_shape.position = Vector2(-9, 0)
else:
animated_sprite_2d.play("chopping_front")
hit_component_collision_shape.disabled = false
print(hit_component_collision_shape.disabled)
func _on_exit() -> void:
animated_sprite_2d.stop()
hit_component_collision_shape.disabled = true