Feat/10 adding multiplayer fundamentals #14
@@ -71,6 +71,7 @@ func _create_ui() -> void:
|
||||
_ui_overlay = ColorRect.new()
|
||||
_ui_overlay.set_anchors_preset(Control.PRESET_FULL_RECT)
|
||||
_ui_overlay.color = Color(1.0, 0.0, 0.0, 0.0)
|
||||
_ui_overlay.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||
_ui_layer.add_child(_ui_overlay)
|
||||
|
||||
_ui_label = Label.new()
|
||||
|
||||
@@ -521,11 +521,15 @@ func _setup_hud() -> void:
|
||||
d_title.add_theme_color_override("font_color", Color(1.0, 0.2, 0.2))
|
||||
d_vbox.add_child(d_title)
|
||||
|
||||
var respawn_btn = Button.new()
|
||||
respawn_btn.text = "REBOOT"
|
||||
respawn_btn.add_theme_font_size_override("font_size", 24)
|
||||
respawn_btn.pressed.connect(_on_respawn_pressed)
|
||||
d_vbox.add_child(respawn_btn)
|
||||
var respawn_label = Label.new()
|
||||
respawn_label.text = "PRESS ANY KEY TO REBOOT"
|
||||
respawn_label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
||||
respawn_label.add_theme_font_size_override("font_size", 24)
|
||||
d_vbox.add_child(respawn_label)
|
||||
|
||||
var tw = create_tween().set_loops()
|
||||
tw.tween_property(respawn_label, "modulate:a", 0.2, 0.8)
|
||||
tw.tween_property(respawn_label, "modulate:a", 1.0, 0.8)
|
||||
|
||||
_damage_layer.add_child(death_screen)
|
||||
|
||||
@@ -566,6 +570,7 @@ func die(impulse: Vector3 = Vector3.ZERO) -> void:
|
||||
var wman = camera.get_node_or_null("WeaponManager")
|
||||
if wman:
|
||||
wman.visible = false
|
||||
wman.process_mode = Node.PROCESS_MODE_DISABLED
|
||||
|
||||
var cam_trans = camera.global_transform
|
||||
camera.get_parent().remove_child(camera)
|
||||
@@ -619,7 +624,13 @@ func die(impulse: Vector3 = Vector3.ZERO) -> void:
|
||||
|
||||
# Show death screen
|
||||
death_screen.visible = true
|
||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
||||
set_process_input(true)
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if is_dead and death_screen and death_screen.visible:
|
||||
if event is InputEventKey or event is InputEventMouseButton or event is InputEventJoypadButton:
|
||||
if event.is_pressed() and not event.is_echo():
|
||||
_on_respawn_pressed()
|
||||
|
||||
func _on_respawn_pressed() -> void:
|
||||
# Reload scene
|
||||
|
||||
Reference in New Issue
Block a user