59 lines
1.8 KiB
GDScript
59 lines
1.8 KiB
GDScript
extends Node2D
|
|
|
|
signal cutscene_finished
|
|
|
|
const DeathParticles = preload("res://objects/enemy/death_particles.tscn")
|
|
|
|
export var cutscene_skip: float = 78.5
|
|
|
|
onready var animation_player: AnimationPlayer = $AnimationPlayer
|
|
|
|
func _init() -> void:
|
|
connect("cutscene_finished", self, "_on_cutscene_finished")
|
|
Game.can_restart = false
|
|
|
|
func _on_cutscene_finished() -> void:
|
|
Audio.play_sound(Audio.a_fami_transform,Audio.ac_voice)
|
|
|
|
func _physics_process(delta: float) -> void:
|
|
if animation_player.current_animation_position < cutscene_skip:
|
|
Game.can_pause = false
|
|
|
|
func _input(event: InputEvent) -> void:
|
|
if event.is_action_pressed("jump") and animation_player.current_animation_position < (cutscene_skip - Options.transition_speed_secs * 2.0):
|
|
skip_cutscene()
|
|
if event.is_action_pressed("debug_2"):
|
|
animation_player.seek(60)
|
|
|
|
func skip_cutscene() -> void:
|
|
Fade.fade_out(Options.transition_speed_secs)
|
|
yield(Fade, "fade_finished")
|
|
animation_player.seek(cutscene_skip)
|
|
$Label.rect_position.y = -99999 # stupid 1.1 stuff
|
|
Fade.fade_in(Options.transition_speed_secs)
|
|
|
|
func kill_cop() -> void:
|
|
var splatter := DeathParticles.instance()
|
|
splatter.global_position = $Cop.global_position
|
|
splatter.emitting = true
|
|
Audio.play_sound(Audio.a_copsquash,Audio.ac_land)
|
|
Audio.play_sound(Audio.a_copsquash2,Audio.ac_voice)
|
|
add_child(splatter)
|
|
$Cop.queue_free()
|
|
|
|
func stop_music():
|
|
Audio.ac_music.playing = false
|
|
|
|
func play_rumble_intro():
|
|
Audio.play_music(load("res://audio/music/rumble_revolution_intro.ogg"))
|
|
|
|
func _notification(what: int) -> void:
|
|
match what:
|
|
NOTIFICATION_WM_FOCUS_OUT:
|
|
animation_player.playback_active = false
|
|
$FamiVoice.stream_paused = true
|
|
Audio.ac_music.stream_paused = true
|
|
NOTIFICATION_WM_FOCUS_IN:
|
|
animation_player.playback_active = true
|
|
$FamiVoice.stream_paused = false
|
|
Audio.ac_music.stream_paused = false
|