mj177/scripts/player/weapon.gd
2025-02-01 12:53:22 +01:00

29 lines
810 B
GDScript

extends Node3D
@onready var animationtree: AnimationTree = $AnimationPlayer/AnimationTree
@onready var timer: Timer = $CooldownTimer
var statemachine: AnimationNodeStateMachinePlayback
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
self.statemachine = animationtree['parameters/playback']
func _input(event: InputEvent) -> void:
if event is not InputEventMouseButton:
return
if not event.is_action_pressed('player_shoot'):
return
if self.timer.time_left > 0:
return
var travelTarget = 'Fire'
if Player.Instance.PlayerState == Player.PlayerStates.CROUCHING:
travelTarget = 'Crouched Fire'
self.animationtree.set('parameters/' + travelTarget + '/blend_position', randf_range(0, 2))
self.statemachine.travel(travelTarget)
self.timer.start()