Advertisement
ChilliVonWilly

Attack2-State

Oct 21st, 2024
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class_name State_Attack2 extends State
  2.  
  3. @export var attack_sound: AudioStream
  4.  
  5. @export var move_speed: float = 75
  6. @onready var idle: State = $"../Idle"
  7. @onready var walk: State = $"../Walk"
  8. @onready var attack1: State = $"../Attack1"
  9. @onready var animation_player: AnimationPlayer = $"../../AnimationPlayer"
  10. @onready var attack_animation_player: AnimationPlayer = $"../../AttackAnimationPlayer"
  11. @onready var audio : AudioStreamPlayer2D = $"../../Audio/AudioStreamPlayer2D"
  12. @onready var weapon = $"../../weapon"
  13. @onready var weapon_sprite: Sprite2D = $"../../weapon/WeaponSprite"
  14.  
  15. var attacking: bool = false
  16.  
  17.  
  18. ## What happens when the player enters this state?
  19. func Enter() -> void:
  20.     weapon.enable()
  21.     player.UpdateAttackAnimation("attack2")
  22.     attack_animation_player.animation_finished.connect(EndAttack)
  23.     audio.stream = attack_sound
  24.     audio.pitch_scale = randf_range(0.9, 1.1)
  25.     audio.play()
  26.     attacking = true
  27.     pass
  28.  
  29. ## What happens when the player exits this state?
  30. func Exit() -> void:
  31.     attack_animation_player.animation_finished.disconnect(EndAttack)
  32.     attacking = false
  33.     weapon.disable()
  34.     pass
  35.  
  36.  
  37. func Process( _delta : float) -> State:
  38.     player.velocity = player.direction * move_speed
  39.    
  40.     if attacking == false:
  41.         if player.direction == Vector2.ZERO:
  42.             return idle
  43.         else:
  44.             return walk
  45.     return null
  46.  
  47.  
  48. func Physics( _delta : float) -> State:
  49.     return null
  50.  
  51.  
  52. func HandleInput( _event : InputEvent) -> State:
  53.     return null
  54.  
  55.  
  56. func EndAttack(_newAnimName: String) -> void:
  57.     attacking = false
  58.     weapon.disable()
  59.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement