Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class_name State_Attack2 extends State
- @export var attack_sound: AudioStream
- @export var move_speed: float = 75
- @onready var idle: State = $"../Idle"
- @onready var walk: State = $"../Walk"
- @onready var attack1: State = $"../Attack1"
- @onready var animation_player: AnimationPlayer = $"../../AnimationPlayer"
- @onready var attack_animation_player: AnimationPlayer = $"../../AttackAnimationPlayer"
- @onready var audio : AudioStreamPlayer2D = $"../../Audio/AudioStreamPlayer2D"
- @onready var weapon = $"../../weapon"
- @onready var weapon_sprite: Sprite2D = $"../../weapon/WeaponSprite"
- var attacking: bool = false
- ## What happens when the player enters this state?
- func Enter() -> void:
- weapon.enable()
- player.UpdateAttackAnimation("attack2")
- attack_animation_player.animation_finished.connect(EndAttack)
- audio.stream = attack_sound
- audio.pitch_scale = randf_range(0.9, 1.1)
- audio.play()
- attacking = true
- pass
- ## What happens when the player exits this state?
- func Exit() -> void:
- attack_animation_player.animation_finished.disconnect(EndAttack)
- attacking = false
- weapon.disable()
- pass
- func Process( _delta : float) -> State:
- player.velocity = player.direction * move_speed
- if attacking == false:
- if player.direction == Vector2.ZERO:
- return idle
- else:
- return walk
- return null
- func Physics( _delta : float) -> State:
- return null
- func HandleInput( _event : InputEvent) -> State:
- return null
- func EndAttack(_newAnimName: String) -> void:
- attacking = false
- weapon.disable()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement