29 lines
810 B
GDScript
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()
|