Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class_name State_Attack 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 attack2: State = $"../Attack2"
- @onready var animation_player: AnimationPlayer = $"../../AnimationPlayer"
- @onready var attack_anim: AnimationPlayer = $"../../AttackAnimationPlayer"
- @onready var combo_timer = $"../../weapon/combo_timer"
- @onready var weapon = $"../../weapon"
- @onready var audio : AudioStreamPlayer2D = $"../../Audio/AudioStreamPlayer2D"
- @onready var weapon_sprite: Sprite2D = $"../../weapon/WeaponSprite"
- var attacking: bool = false
- var counter: int = 1
- var can_combo: bool = false
- ## What happens when the player enters this state?
- func Enter() -> void:
- weapon.enable()
- attacking = true
- can_combo = false
- player.UpdateAttackAnimation("attack1")
- audio.stream = attack_sound
- audio.pitch_scale = randf_range(0.9, 1.1)
- audio.play()
- combo_timer.start()
- pass
- ## What happens when the player exits this state?
- func Exit() -> void:
- 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:
- if _event.is_action_pressed("Attack"):
- return attack2
- return null
- func EndAttack(_newAnimName: String) -> void:
- attacking = false
- weapon.disable()
- func _on_combo_timer_timeout():
- attacking = false
- weapon.disable()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement