Skip to content

Commit

Permalink
added screen fades to nodemap and other things
Browse files Browse the repository at this point in the history
  • Loading branch information
LumiToad committed Feb 19, 2024
1 parent 925911c commit b2c11d4
Show file tree
Hide file tree
Showing 10 changed files with 66 additions and 23 deletions.
1 change: 1 addition & 0 deletions systems/card_combat/card_battle.gd
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ var is_blocked := false :
func _ready():
SfxBg._playTrack(SfxBg.MapTypes.CITY)
SfxOther._SFX_EnterLevel()
ScreenFade.fade_in(1.0)
GlobalLog.set_context(GlobalLog.Context.COMBAT)
GlobalLog.add_entry(name + " loaded.")
lock_player_actions()
Expand Down
4 changes: 4 additions & 0 deletions systems/dungeon_events/battle_event.gd
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@ func trigger(player_data: PlayerData, enemy_data: EnemyData):
add_child(instance)
instance.trigger(player_data, enemy_data)
await instance.finished
#battle_ends
ScreenFade.fade_out(1.0)
await ScreenFade.fade_out_complete
ScreenFade.fade_in(1.0)

field.queue_free()
finished.emit()
Expand Down
1 change: 1 addition & 0 deletions systems/dungeon_exploration/maps/node_map.gd
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ var level := 0.0

func _ready():
SfxBg._playTrack(SfxBg.MapTypes.WINTER)
ScreenFade.fade_in(1.0)


func _process(delta):
Expand Down
7 changes: 7 additions & 0 deletions systems/dungeon_exploration/maps/random_event_node.gd
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,15 @@ func _trigger_event():
selected_enemy.level = level
selected_enemy.rng_seed = combat_seed
player.data.draw_rng_seed = draw_seed
player.lerp_weight = 0.01
ScreenFade.fade_out(1.0, true, true)
await ScreenFade.fade_out_complete
player.lerp_weight = 0.1

elif "seed" in instance:
instance.seed = combat_seed
if instance.has_method("trigger"):
instance.trigger(player.data, selected_enemy)
await instance.finished


1 change: 1 addition & 0 deletions systems/dungeon_exploration/nodes/event_node.gd
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ func click():

func _trigger_event():
var test_instance = event.instantiate()
print(test_instance)
if test_instance is RunEndScreen:
var end_screen = SceneHandler.add_ui_element(event) as RunEndScreen
end_screen.init(120, self)
Expand Down
4 changes: 3 additions & 1 deletion systems/dungeon_exploration/player/player_script.gd
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ extends Control

var data: PlayerData
var targetNode: EventNode
var lerp_weight := 0.1

static var instance : Player

Expand Down Expand Up @@ -43,7 +44,7 @@ func _process(delta):

if targetNode:
var target = targetNode.position
position = position.lerp(target - get_rect().size / 2 + position_offset, 0.1)
position = position.lerp(target - get_rect().size / 2 + position_offset, lerp_weight)

if enable_camera_control:
$Camera2D.position = $Camera2D.position.lerp(get_viewport().get_mouse_position() * mouse_track, 0.05)
Expand All @@ -53,6 +54,7 @@ var debug_movement_on := false
var debug_position := Vector2()
var debug_speed := 1.0


func debug_movement():
if not is_debug:
return
Expand Down
4 changes: 3 additions & 1 deletion systems/ui/main_menu.gd
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ func _ready():
seed_text = str(seed)
GlobalLog.set_context(GlobalLog.Context.MENU)
GlobalLog.add_entry("Main Menu loaded.")
ScreenFade.fade_in(1.0, false)


func _process(delta):
Expand Down Expand Up @@ -50,7 +51,8 @@ func start_game():


func _on_start_button_button_up():
start_game()
ScreenFade.fade_out(1.0, true, true)
ScreenFade.fade_out_complete.connect(start_game)


func _on_tutorial_button_button_up():
Expand Down
63 changes: 45 additions & 18 deletions systems/ui/screen_fade_overlay.gd
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,16 @@ signal tint_complete

const BLACK_TRANSPARENT = Color(0, 0, 0, 0)

var tree : SceneTree
var tween : Tween
var fail_save_timer : SceneTreeTimer
var tween_trans = Tween.TRANS_LINEAR
var tween_ease = Tween.EASE_IN_OUT
var fade_in_color = BLACK_TRANSPARENT
var fade_out_color = Color.BLACK
var color_rect : ColorRect

var is_tween_running := false

func _ready():
tree = get_tree()
tween = get_tree().create_tween()
color_rect = $ColorRect

Expand Down Expand Up @@ -46,23 +45,33 @@ func set_is_mouse_blocked(value : bool):


func fade_in(duration: float, force_fade : bool = true, block_mouse : bool = false):
await tree.process_frame
await get_tree().process_frame
if not force_fade and is_tween_running:
return
tween.kill()
tween = get_tree().create_tween()
set_is_mouse_blocked(block_mouse)
setup_tween_internal()
if force_fade:
color_rect.color = Color.BLACK
tween.tween_property(color_rect, "color", fade_in_color, duration).from_current()
is_tween_running = true
tween.finished.connect(emit_fade_in_complete_internal)
fail_save_timer = get_tree().create_timer(duration + 5.0)
fail_save_timer.timeout.connect(fail_save)


func fade_out(duration : float, force_fade : bool = true, block_mouse : bool = false):
await tree.process_frame
set_is_mouse_blocked(block_mouse)
if not force_fade and is_tween_running:
return
await get_tree().process_frame
tween.kill()
tween = get_tree().create_tween()
set_is_mouse_blocked(block_mouse)
setup_tween_internal()
if force_fade:
color_rect.color = BLACK_TRANSPARENT
tween.tween_property(color_rect, "color", fade_out_color, duration).from_current()
is_tween_running = true
tween.finished.connect(emit_fade_out_complete_internal)
fail_save_timer = get_tree().create_timer(duration + 5.0)
fail_save_timer.timeout.connect(fail_save)


func restore_default():
Expand All @@ -75,41 +84,54 @@ func restore_default():


func tint_screen(tint_color : Color, opacity : float, duration : float):
await tree.process_frame
await get_tree().process_frame
tween.kill()
tween = get_tree().create_tween()
opacity = clampf(opacity, 0.0, 1.0)
tint_color.a = opacity
setup_tween_internal()
tween.tween_property(color_rect, "color", tint_color, duration).from_current()
tween.finished.connect(emit_tint_complete_internal)
is_tween_running = true
fail_save_timer = get_tree().create_timer(duration + 5.0)
fail_save_timer.timeout.connect(fail_save)


func reset_tint(duration : float):
await tree.process_frame
await get_tree().process_frame
tween.kill()
tween = get_tree().create_tween()
var color = BLACK_TRANSPARENT
setup_tween_internal()
tween.tween_property(color_rect, "color", color, duration).from_current()
tween.finished.connect(emit_tint_complete_internal)
is_tween_running = true
fail_save_timer = get_tree().create_timer(duration + 5.0)
fail_save_timer.timeout.connect(fail_save)


func emit_tint_complete_internal():
tint_complete.emit()
disconnect_tween_internal
print("tint_complete")
reset_screenfade_internal()


func emit_fade_out_complete_internal():
fade_out_complete.emit()
disconnect_tween_internal
print("fade_out_complete")
reset_screenfade_internal()


func emit_fade_in_complete_internal():
fade_in_complete.emit()
disconnect_tween_internal
print("fade_in_complete")
reset_screenfade_internal()


func disconnect_tween_internal():
func reset_screenfade_internal():
tween.finished.disconnect(emit_tint_complete_internal)
tween.finished.disconnect(emit_fade_out_complete_internal)
tween.finished.disconnect(emit_fade_in_complete_internal)
is_tween_running = false
set_is_mouse_blocked(false)


func setup_tween_internal():
Expand All @@ -118,3 +140,8 @@ func setup_tween_internal():
return
tween.set_trans(tween_trans)
tween.set_ease(tween_ease)


func fail_save():
if color_rect.color.a == 1.0:
color_rect.color = BLACK_TRANSPARENT
2 changes: 1 addition & 1 deletion systems/ui/screen_fade_overlay.tscn
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
color = Color(0, 0, 0, 0)
color = Color(0, 0, 0, 1)
2 changes: 0 additions & 2 deletions utils/entry_scene.tscn
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@ func _ready():

if not main_scene.is_empty():
SceneHandler.change_scene(main_scene)

ScreenFade.fade_in(2.0)


func load_audio_config():
Expand Down

0 comments on commit b2c11d4

Please sign in to comment.