diff options
author | Daniel Weipert <git@mail.dweipert.de> | 2024-09-20 22:12:44 +0200 |
---|---|---|
committer | Daniel Weipert <git@mail.dweipert.de> | 2024-09-20 22:12:44 +0200 |
commit | a38f65c261e9d7b23d046cb76b5aeedc05c4b54d (patch) | |
tree | 8cc96d41dc44b75ac1e9f2b95735af7c753a7c74 /green_greens_boss.gd | |
parent | 3fdb011ef62249a514a8eba2556cc9f6ea5ea477 (diff) |
next commit
Diffstat (limited to 'green_greens_boss.gd')
-rw-r--r-- | green_greens_boss.gd | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/green_greens_boss.gd b/green_greens_boss.gd new file mode 100644 index 0000000..533c28f --- /dev/null +++ b/green_greens_boss.gd @@ -0,0 +1,37 @@ +extends Node2D + + +@export var starting_position: Vector2 +@export var fade_in_from_door: bool = false + +@onready var player = get_tree().get_first_node_in_group("player") + + +func _ready() -> void: + SoundManager.play_background("Boss") + + if starting_position: + player.visual_position = starting_position + + player.get_node("Camera2D").limit_top = $Wall.get_wall_limits().top + player.get_node("Camera2D").limit_bottom = $Wall.get_wall_limits().bottom + player.get_node("Camera2D").limit_left = $Wall.get_wall_limits().left + player.get_node("Camera2D").limit_right = $Wall.get_wall_limits().right + + if fade_in_from_door: + player.current_state = player.state_exit_door() + player.get_node("AnimatedSprite2D").self_modulate = Color(0,0,0,1) + + var tween = get_tree().create_tween() + tween.tween_property( + player.get_node("AnimatedSprite2D"), + "self_modulate", + Color(1,1,1,1), + 0.3 + ) + + Game.boss_defeated.connect(func(): + SoundManager.play_background("Win") + await SoundManager.current_background.finished + Game.transition_to_scene("res://FloatIslandsIntro.tscn") + ) |