Finished level 1
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
extends AbstractLevel
|
||||
|
||||
|
||||
const ANIMATION_NAME = "final_cutscene"
|
||||
|
||||
|
||||
@onready var animation_player : AnimationPlayer = $AnimationPlayer
|
||||
@onready var fake_player : PlayerSprite = $Cutscene/FakePlayer
|
||||
@onready var fake_cultist : CultistSprite = $Cutscene/FakeCultist
|
||||
@onready var cutscene_camera : Camera2D = $Cutscene/Camera2D
|
||||
|
||||
@onready var cutscene_room_center : Vector2 = $Cutscene/RoomCenter.position
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
$CanvasLayer/MarginContainer/ThanksLabel.hide()
|
||||
animation_player.play("hide_cutscene_elements")
|
||||
super._ready()
|
||||
|
||||
|
||||
func _on_level_end_entered(body: Node2D) -> void:
|
||||
if body is Player:
|
||||
_play_cutscene()
|
||||
|
||||
|
||||
func _play_cutscene() -> void:
|
||||
var camera_track_name := "Cutscene/Camera2D:position"
|
||||
var player_track_name := "Cutscene/FakePlayer:position"
|
||||
|
||||
var animation := animation_player.get_animation(ANIMATION_NAME)
|
||||
var camera_track := animation.find_track(camera_track_name, Animation.TYPE_VALUE)
|
||||
var player_track := animation.find_track(player_track_name, Animation.TYPE_VALUE)
|
||||
|
||||
animation.track_set_key_value(camera_track, 0, player.camera.get_screen_center_position())
|
||||
animation.track_set_key_value(player_track, 0, player.position)
|
||||
|
||||
player.queue_free()
|
||||
cutscene_camera.enabled = true
|
||||
cutscene_camera.make_current()
|
||||
animation_player.play(ANIMATION_NAME)
|
||||
|
||||
|
||||
func _play_cutscene_boop() -> void:
|
||||
SoundManager.play_sfx_stream(SoundManager.sfx_stream_haze, cutscene_room_center)
|
||||
|
||||
|
||||
func _play_fake_cultist_animation() -> void:
|
||||
fake_cultist.animated_sprite.play(CultistSprite.ANIMATION_LOOK_AROUND, 0.5)
|
||||
|
||||
|
||||
func _make_fake_cultist_grey() -> void:
|
||||
var tween := create_tween()
|
||||
tween.tween_property(fake_cultist.material, CultistSprite.SHADER_INTENSITY, 0.5, 5)
|
||||
|
||||
|
||||
func _on_animation_player_animation_finished(anim_name: StringName) -> void:
|
||||
if anim_name == "final_cutscene":
|
||||
_complete_level(cutscene_room_center)
|
||||
Reference in New Issue
Block a user