gate info

This commit is contained in:
Nordup 2024-12-03 11:10:50 +04:00
parent 71b8d06c69
commit a425178538
10 changed files with 177 additions and 72 deletions

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=40 format=3 uid="uid://kywrsqro3d5i"] [gd_scene load_steps=42 format=3 uid="uid://kywrsqro3d5i"]
[ext_resource type="Script" path="res://scripts/loading/gate_loader.gd" id="1_uxhy6"] [ext_resource type="Script" path="res://scripts/loading/gate_loader.gd" id="1_uxhy6"]
[ext_resource type="Resource" uid="uid://b1xvdym0qh6td" path="res://resources/gate_events.res" id="2_q7cvi"] [ext_resource type="Resource" uid="uid://b1xvdym0qh6td" path="res://resources/gate_events.res" id="2_q7cvi"]
@ -10,17 +10,17 @@
[ext_resource type="Resource" uid="uid://bo6qgr210aamc" path="res://resources/sandbox_env.tres" id="8_a6dvr"] [ext_resource type="Resource" uid="uid://bo6qgr210aamc" path="res://resources/sandbox_env.tres" id="8_a6dvr"]
[ext_resource type="Script" path="res://scripts/sandbox/sandbox_logger.gd" id="9_fikc8"] [ext_resource type="Script" path="res://scripts/sandbox/sandbox_logger.gd" id="9_fikc8"]
[ext_resource type="Resource" uid="uid://crjhix0osmtnf" path="res://resources/ui_events.res" id="9_ir58h"] [ext_resource type="Resource" uid="uid://crjhix0osmtnf" path="res://resources/ui_events.res" id="9_ir58h"]
[ext_resource type="Script" path="res://scripts/ui/world/world_canvas.gd" id="9_ncfxj"]
[ext_resource type="Shader" path="res://shaders/render_result.gdshader" id="10_2auwe"] [ext_resource type="Shader" path="res://shaders/render_result.gdshader" id="10_2auwe"]
[ext_resource type="Script" path="res://scripts/sandbox/command_sync.gd" id="10_cqo55"] [ext_resource type="Script" path="res://scripts/sandbox/command_sync.gd" id="10_cqo55"]
[ext_resource type="Resource" uid="uid://cjcdum6fm4ta0" path="res://resources/api_settings.tres" id="10_vhc7k"] [ext_resource type="Resource" uid="uid://cjcdum6fm4ta0" path="res://resources/api_settings.tres" id="10_vhc7k"]
[ext_resource type="Script" path="res://scripts/sandbox/process_checker.gd" id="11_72cjp"] [ext_resource type="Script" path="res://scripts/sandbox/process_checker.gd" id="11_72cjp"]
[ext_resource type="Script" path="res://scripts/ui/world/world_ui.gd" id="12_jdwjt"] [ext_resource type="Script" path="res://scripts/ui/world/world_ui.gd" id="12_jdwjt"]
[ext_resource type="Script" path="res://scripts/ui/world/splash_screen.gd" id="13_3b6nd"] [ext_resource type="Script" path="res://scripts/ui/world/foreground.gd" id="17_6e5v3"]
[ext_resource type="PackedScene" uid="uid://c7571vjq7l0jp" path="res://scenes/components/not_responding.tscn" id="17_kwbm3"] [ext_resource type="PackedScene" uid="uid://c7571vjq7l0jp" path="res://scenes/components/not_responding.tscn" id="17_kwbm3"]
[ext_resource type="Script" path="res://scripts/ui/world/gate_info.gd" id="18_q06xu"] [ext_resource type="Script" path="res://scripts/ui/world/gate_info.gd" id="18_q06xu"]
[ext_resource type="Shader" uid="uid://dd1axtdlit6no" path="res://shaders/vignette_blur.tres" id="18_sat0u"] [ext_resource type="Shader" uid="uid://dd1axtdlit6no" path="res://shaders/vignette_blur.tres" id="18_sat0u"]
[ext_resource type="Script" path="res://scripts/ui/fullscreen_animation.gd" id="18_sx3kr"] [ext_resource type="Script" path="res://scripts/ui/ui_mode_animation.gd" id="18_sx3kr"]
[ext_resource type="Script" path="res://scripts/ui/world/vignette_blur.gd" id="19_415fa"]
[ext_resource type="FontFile" uid="uid://do40418waa8w3" path="res://assets/fonts/Inter-Regular.otf" id="19_tkqw6"] [ext_resource type="FontFile" uid="uid://do40418waa8w3" path="res://assets/fonts/Inter-Regular.otf" id="19_tkqw6"]
[ext_resource type="FontFile" uid="uid://bjeupg0ikc2kv" path="res://assets/fonts/Monospace.ttf" id="20_hoet7"] [ext_resource type="FontFile" uid="uid://bjeupg0ikc2kv" path="res://assets/fonts/Monospace.ttf" id="20_hoet7"]
[ext_resource type="LabelSettings" uid="uid://crt4elt055uhg" path="res://assets/styles/text_big.tres" id="20_v1648"] [ext_resource type="LabelSettings" uid="uid://crt4elt055uhg" path="res://assets/styles/text_big.tres" id="20_v1648"]
@ -28,6 +28,7 @@
[ext_resource type="FontFile" uid="uid://tfj3o1e1wytn" path="res://assets/fonts/Inter-BoldItalic.otf" id="22_i5khx"] [ext_resource type="FontFile" uid="uid://tfj3o1e1wytn" path="res://assets/fonts/Inter-BoldItalic.otf" id="22_i5khx"]
[ext_resource type="FontFile" uid="uid://c14w1y1r54wgi" path="res://assets/fonts/Inter-Bold.otf" id="23_t1gqo"] [ext_resource type="FontFile" uid="uid://c14w1y1r54wgi" path="res://assets/fonts/Inter-Bold.otf" id="23_t1gqo"]
[ext_resource type="PackedScene" uid="uid://dr1hykfog1h85" path="res://scenes/components/gate_status.tscn" id="25_3436m"] [ext_resource type="PackedScene" uid="uid://dr1hykfog1h85" path="res://scenes/components/gate_status.tscn" id="25_3436m"]
[ext_resource type="Script" path="res://scripts/ui/world/release_focus.gd" id="26_u6afs"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_be6ex"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_be6ex"]
resource_local_to_scene = true resource_local_to_scene = true
@ -36,7 +37,7 @@ shader_parameter/ext_texture_is_bgra = null
shader_parameter/show_render = null shader_parameter/show_render = null
[sub_resource type="Curve" id="Curve_rju31"] [sub_resource type="Curve" id="Curve_rju31"]
_data = [Vector2(0.0702341, 1), 0.0, -0.118897, 0, 0, Vector2(0.270903, 0.720054), -3.7783, -3.7783, 0, 0, Vector2(0.444816, 0.308883), -1.03045, -1.03045, 0, 0, Vector2(1, 0.160161), 0.0, 0.0, 0, 0] _data = [Vector2(0.090301, 0.772544), 0.0, -0.118897, 0, 0, Vector2(0.307692, 0.510094), -2.18127, -2.18127, 0, 0, Vector2(0.605578, 0.0776294), -1.01166, -1.01166, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 4 point_count = 4
[sub_resource type="CurveTexture" id="CurveTexture_fomqh"] [sub_resource type="CurveTexture" id="CurveTexture_fomqh"]
@ -44,8 +45,9 @@ curve = SubResource("Curve_rju31")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bspld"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_bspld"]
shader = ExtResource("18_sat0u") shader = ExtResource("18_sat0u")
shader_parameter/BlurAmount = 3.0 shader_parameter/UVScale = Vector2(0.9, 0.9)
shader_parameter/VignetteColor = Color(0.0137093, 0.00449686, 0.0741505, 1) shader_parameter/BlurAmount = 2.5
shader_parameter/VignetteColor = Color(0.126, 0.1719, 0.18, 1)
shader_parameter/Vignette = SubResource("CurveTexture_fomqh") shader_parameter/Vignette = SubResource("CurveTexture_fomqh")
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_axrau"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_axrau"]
@ -61,6 +63,8 @@ corner_radius_bottom_left = 25
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jiaac"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jiaac"]
bg_color = Color(0, 0, 0, 0.2) bg_color = Color(0, 0, 0, 0.2)
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_tnu6q"]
[sub_resource type="Animation" id="Animation_beyyv"] [sub_resource type="Animation" id="Animation_beyyv"]
length = 0.001 length = 0.001
tracks/0/type = "value" tracks/0/type = "value"
@ -77,7 +81,7 @@ tracks/0/keys = {
} }
[sub_resource type="Animation" id="Animation_tper3"] [sub_resource type="Animation" id="Animation_tper3"]
resource_name = "fullscreen" resource_name = "focused"
length = 0.25 length = 0.25
step = 0.05 step = 0.05
tracks/0/type = "value" tracks/0/type = "value"
@ -113,7 +117,7 @@ tracks/0/keys = {
[sub_resource type="AnimationLibrary" id="AnimationLibrary_sld6k"] [sub_resource type="AnimationLibrary" id="AnimationLibrary_sld6k"]
_data = { _data = {
"RESET": SubResource("Animation_beyyv"), "RESET": SubResource("Animation_beyyv"),
"fullscreen": SubResource("Animation_tper3"), "focused": SubResource("Animation_tper3"),
"initial": SubResource("Animation_77flb") "initial": SubResource("Animation_77flb")
} }
@ -175,9 +179,6 @@ anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
size_flags_horizontal = 0 size_flags_horizontal = 0
script = ExtResource("9_ncfxj")
ui_events = ExtResource("9_ir58h")
interpolate = 1.0
[node name="RenderResult" type="TextureRect" parent="WorldCanvas"] [node name="RenderResult" type="TextureRect" parent="WorldCanvas"]
texture_filter = 2 texture_filter = 2
@ -204,7 +205,7 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
focus_mode = 0 focus_mode = 0
[node name="Foreground" type="Control" parent="."] [node name="Foreground" type="Control" parent="." node_paths=PackedStringArray("splash_screen", "vignette_blur", "click_anywhere")]
layout_mode = 1 layout_mode = 1
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
@ -212,8 +213,14 @@ anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
mouse_filter = 2 mouse_filter = 2
script = ExtResource("17_6e5v3")
gate_events = ExtResource("2_q7cvi")
ui_events = ExtResource("9_ir58h")
splash_screen = NodePath("SplashScreen")
vignette_blur = NodePath("VignetteBlur")
click_anywhere = NodePath("ClickAnywhere")
[node name="SplashScreen" type="TextureRect" parent="Foreground" node_paths=PackedStringArray("render_result")] [node name="SplashScreen" type="TextureRect" parent="Foreground"]
layout_mode = 1 layout_mode = 1
anchors_preset = 15 anchors_preset = 15
anchor_right = 1.0 anchor_right = 1.0
@ -223,11 +230,6 @@ grow_vertical = 2
mouse_filter = 2 mouse_filter = 2
expand_mode = 1 expand_mode = 1
stretch_mode = 6 stretch_mode = 6
script = ExtResource("13_3b6nd")
gate_events = ExtResource("2_q7cvi")
command_events = ExtResource("6_18mgg")
ui_events = ExtResource("9_ir58h")
render_result = NodePath("../../WorldCanvas/RenderResult")
[node name="VignetteBlur" type="Panel" parent="Foreground"] [node name="VignetteBlur" type="Panel" parent="Foreground"]
material = SubResource("ShaderMaterial_bspld") material = SubResource("ShaderMaterial_bspld")
@ -239,8 +241,24 @@ grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
mouse_filter = 2 mouse_filter = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_axrau") theme_override_styles/panel = SubResource("StyleBoxFlat_axrau")
script = ExtResource("19_415fa")
blur_amount_game = 1.5
uv_scale = Vector2(0.97, 0.97)
[node name="GateInfo" type="VBoxContainer" parent="Foreground" node_paths=PackedStringArray("image", "title", "description")] [node name="ClickAnywhere" type="Label" parent="Foreground"]
layout_mode = 1
anchors_preset = 5
anchor_left = 0.5
anchor_right = 0.5
offset_left = -175.5
offset_top = 50.0
offset_right = 175.5
offset_bottom = 75.0
grow_horizontal = 2
text = "Click Anywhere to Play → ESC to Exit"
label_settings = ExtResource("20_v1648")
[node name="GateInfo" type="VBoxContainer" parent="Foreground" node_paths=PackedStringArray("image", "image_darken", "title", "description", "gate_status")]
layout_mode = 1 layout_mode = 1
anchors_preset = 2 anchors_preset = 2
anchor_top = 1.0 anchor_top = 1.0
@ -250,20 +268,20 @@ offset_top = -90.0
offset_right = 562.0 offset_right = 562.0
offset_bottom = -50.0 offset_bottom = -50.0
grow_vertical = 0 grow_vertical = 0
mouse_filter = 2
theme_override_constants/separation = 12 theme_override_constants/separation = 12
alignment = 2 alignment = 2
script = ExtResource("18_q06xu") script = ExtResource("18_q06xu")
gate_events = ExtResource("2_q7cvi") gate_events = ExtResource("2_q7cvi")
image = NodePath("Image/TextureRect") image = NodePath("Image/TextureRect")
image_darken = NodePath("Image/Panel")
title = NodePath("Title") title = NodePath("Title")
description = NodePath("RichTextLabel") description = NodePath("RichTextLabel")
gate_status = [NodePath("Space2"), NodePath("GateStatus")]
[node name="Image" type="Panel" parent="Foreground/GateInfo"] [node name="Image" type="Panel" parent="Foreground/GateInfo"]
clip_children = 1 clip_children = 1
custom_minimum_size = Vector2(0, 256) custom_minimum_size = Vector2(0, 256)
layout_mode = 2 layout_mode = 2
mouse_filter = 2
theme_override_styles/panel = SubResource("StyleBoxFlat_vnx4g") theme_override_styles/panel = SubResource("StyleBoxFlat_vnx4g")
[node name="TextureRect" type="TextureRect" parent="Foreground/GateInfo/Image"] [node name="TextureRect" type="TextureRect" parent="Foreground/GateInfo/Image"]
@ -288,15 +306,34 @@ theme_override_styles/panel = SubResource("StyleBoxFlat_jiaac")
[node name="Space" type="Control" parent="Foreground/GateInfo"] [node name="Space" type="Control" parent="Foreground/GateInfo"]
custom_minimum_size = Vector2(0, 6) custom_minimum_size = Vector2(0, 6)
layout_mode = 2 layout_mode = 2
mouse_filter = 2
[node name="Title" type="Label" parent="Foreground/GateInfo"] [node name="Title" type="RichTextLabel" parent="Foreground/GateInfo"]
layout_mode = 2 layout_mode = 2
focus_mode = 2
mouse_default_cursor_shape = 1
theme_override_colors/default_color = Color(0.831373, 0.831373, 0.831373, 1)
theme_override_colors/selection_color = Color(0.419608, 0.231373, 0.929412, 0.588235)
theme_override_fonts/normal_font = ExtResource("19_tkqw6")
theme_override_fonts/mono_font = ExtResource("20_hoet7")
theme_override_fonts/italics_font = ExtResource("21_lpegk")
theme_override_fonts/bold_italics_font = ExtResource("22_i5khx")
theme_override_fonts/bold_font = ExtResource("23_t1gqo")
theme_override_font_sizes/bold_italics_font_size = 20
theme_override_font_sizes/italics_font_size = 20
theme_override_font_sizes/mono_font_size = 20
theme_override_font_sizes/normal_font_size = 20
theme_override_font_sizes/bold_font_size = 15
theme_override_styles/focus = SubResource("StyleBoxEmpty_tnu6q")
text = "Welcome" text = "Welcome"
label_settings = ExtResource("20_v1648") fit_content = true
context_menu_enabled = true
selection_enabled = true
script = ExtResource("26_u6afs")
[node name="RichTextLabel" type="RichTextLabel" parent="Foreground/GateInfo"] [node name="RichTextLabel" type="RichTextLabel" parent="Foreground/GateInfo"]
layout_mode = 2 layout_mode = 2
focus_mode = 2
mouse_default_cursor_shape = 1
theme_override_colors/default_color = Color(0.831373, 0.831373, 0.831373, 1) theme_override_colors/default_color = Color(0.831373, 0.831373, 0.831373, 1)
theme_override_colors/selection_color = Color(0.419608, 0.231373, 0.929412, 0.588235) theme_override_colors/selection_color = Color(0.419608, 0.231373, 0.929412, 0.588235)
theme_override_fonts/normal_font = ExtResource("19_tkqw6") theme_override_fonts/normal_font = ExtResource("19_tkqw6")
@ -309,9 +346,13 @@ theme_override_font_sizes/italics_font_size = 15
theme_override_font_sizes/mono_font_size = 15 theme_override_font_sizes/mono_font_size = 15
theme_override_font_sizes/normal_font_size = 15 theme_override_font_sizes/normal_font_size = 15
theme_override_font_sizes/bold_font_size = 15 theme_override_font_sizes/bold_font_size = 15
theme_override_styles/focus = SubResource("StyleBoxEmpty_tnu6q")
bbcode_enabled = true bbcode_enabled = true
text = "A slot machine battler instead of money its points that you can use to heal and attack. upgrade your build and attack enemies and become the best on the leaderboard" text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat"
fit_content = true fit_content = true
context_menu_enabled = true
selection_enabled = true
script = ExtResource("26_u6afs")
[node name="Space2" type="Control" parent="Foreground/GateInfo"] [node name="Space2" type="Control" parent="Foreground/GateInfo"]
custom_minimum_size = Vector2(0, 26) custom_minimum_size = Vector2(0, 26)

View file

@ -7,7 +7,7 @@ signal ui_size_changed(size: Vector2)
enum UiMode enum UiMode
{ {
INITIAL, INITIAL,
FULL_SCREEN FOCUSED
} }
var current_ui_size: Vector2 var current_ui_size: Vector2

View file

@ -26,7 +26,7 @@ func start_server() -> void:
func on_ui_mode_changed(mode: UiEvents.UiMode) -> void: func on_ui_mode_changed(mode: UiEvents.UiMode) -> void:
should_send = mode == UiEvents.UiMode.FULL_SCREEN should_send = mode == UiEvents.UiMode.FOCUSED
func _input(_event: InputEvent) -> void: func _input(_event: InputEvent) -> void:

View file

@ -5,9 +5,9 @@ extends AnimationPlayer
const RESET := "RESET" const RESET := "RESET"
const INITIAL := "initial" const INITIAL := "initial"
const FULLSCREEN := "fullscreen" const FOCUSED := "focused"
var fullscreen := false var focused := false
func _ready() -> void: func _ready() -> void:
@ -16,10 +16,10 @@ func _ready() -> void:
func on_ui_mode_changed(mode: UiEvents.UiMode) -> void: func on_ui_mode_changed(mode: UiEvents.UiMode) -> void:
if mode == UiEvents.UiMode.INITIAL and fullscreen: if mode == UiEvents.UiMode.INITIAL and focused:
fullscreen = false focused = false
play(INITIAL) play(INITIAL)
if mode == UiEvents.UiMode.FULL_SCREEN and not fullscreen: if mode == UiEvents.UiMode.FOCUSED and not focused:
fullscreen = true focused = true
play(FULLSCREEN) play(FOCUSED)

View file

@ -0,0 +1,35 @@
extends Control
@export var gate_events: GateEvents
@export var ui_events: UiEvents
@export var splash_screen: TextureRect
@export var vignette_blur: VignetteBlur
@export var click_anywhere: Control
func _ready() -> void:
gate_events.gate_info_loaded.connect(show_thumbnail)
gate_events.first_frame.connect(on_first_frame)
ui_events.ui_mode_changed.connect(on_ui_mode_changed)
vignette_blur.hide()
click_anywhere.hide()
func show_thumbnail(gate: Gate, _is_cached: bool) -> void:
splash_screen.texture = FileTools.load_external_tex(gate.image)
vignette_blur.show()
func on_first_frame() -> void:
splash_screen.hide()
click_anywhere.show()
vignette_blur.gate_started_params()
func on_ui_mode_changed(mode: UiEvents.UiMode) -> void:
if mode == UiEvents.UiMode.INITIAL:
show()
if mode == UiEvents.UiMode.FOCUSED:
click_anywhere.hide()
hide()

View file

@ -3,15 +3,19 @@ extends Control
@export var gate_events: GateEvents @export var gate_events: GateEvents
@export var image: TextureRect @export var image: TextureRect
@export var title: Label @export var image_darken: Control
@export var title: RichTextLabel
@export var description: RichTextLabel @export var description: RichTextLabel
@export var gate_status: Array[Control]
var gate: Gate var gate: Gate
func _ready() -> void: func _ready() -> void:
gate_events.gate_info_loaded.connect(display_info) gate_events.gate_info_loaded.connect(display_info)
gate_events.first_frame.connect(on_first_frame)
gate_events.gate_error.connect(on_gate_error) gate_events.gate_error.connect(on_gate_error)
clear_info()
func display_info(_gate: Gate, _is_cached: bool) -> void: func display_info(_gate: Gate, _is_cached: bool) -> void:
@ -19,6 +23,20 @@ func display_info(_gate: Gate, _is_cached: bool) -> void:
title.text = "Unnamed" if gate.title.is_empty() else gate.title title.text = "Unnamed" if gate.title.is_empty() else gate.title
description.text = "No description" if gate.description.is_empty() else gate.description description.text = "No description" if gate.description.is_empty() else gate.description
image.texture = FileTools.load_external_tex(gate.image) image.texture = FileTools.load_external_tex(gate.image)
if is_instance_valid(image.texture): image_darken.show()
func clear_info() -> void:
gate = null
title.text = ""
description.text = ""
image.texture = null
image_darken.hide()
func on_first_frame() -> void:
for node in gate_status:
node.hide()
func on_gate_error(_code: GateEvents.GateError) -> void: func on_gate_error(_code: GateEvents.GateError) -> void:

View file

@ -1,17 +0,0 @@
extends TextureRect
class_name SplashScreen
@export var gate_events: GateEvents
@export var command_events: CommandEvents
@export var ui_events: UiEvents
@export var render_result: RenderResult
func _ready():
gate_events.gate_info_loaded.connect(show_thumbnail)
#gate_events.first_frame.connect(func(): hide())
func show_thumbnail(gate: Gate, _is_cached: bool) -> void:
#if is_cached: return # Resource pack is already downloaded
texture = FileTools.load_external_tex(gate.image)

View file

@ -0,0 +1,17 @@
extends Control
class_name VignetteBlur
const BLUR_AMOUNT = "BlurAmount"
const UV_SCALE = "UVScale"
@export var blur_amount_game: float
@export var uv_scale: Vector2
func gate_started_params() -> void:
set_param(BLUR_AMOUNT, blur_amount_game)
set_param(UV_SCALE, uv_scale)
func set_param(param: StringName, value: Variant) -> void:
(material as ShaderMaterial).set_shader_parameter(param, value)

View file

@ -5,12 +5,14 @@ extends Control
@export var command_events: CommandEvents @export var command_events: CommandEvents
@export var render_result: RenderResult @export var render_result: RenderResult
var gate_started: bool
var mouse_mode: int = Input.MOUSE_MODE_VISIBLE var mouse_mode: int = Input.MOUSE_MODE_VISIBLE
var _visible: bool = true var _visible: bool = true
func _ready() -> void: func _ready() -> void:
command_events.set_mouse_mode.connect(set_mouse_mode) command_events.set_mouse_mode.connect(set_mouse_mode)
gate_events.first_frame.connect(func(): gate_started = true)
gate_events.not_responding.connect(func(): set_mouse_mode(Input.MOUSE_MODE_VISIBLE)) gate_events.not_responding.connect(func(): set_mouse_mode(Input.MOUSE_MODE_VISIBLE))
Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE) Input.set_mouse_mode(Input.MOUSE_MODE_VISIBLE)
@ -38,9 +40,9 @@ func show_ui() -> void:
func hide_ui() -> void: func hide_ui() -> void:
if not _visible: return if not _visible or not gate_started: return
_visible = false _visible = false
Input.set_mouse_mode(mouse_mode) Input.set_mouse_mode(mouse_mode)
ui_events.ui_mode_changed_emit(UiEvents.UiMode.FULL_SCREEN) ui_events.ui_mode_changed_emit(UiEvents.UiMode.FOCUSED)
render_result.texture_filter = CanvasItem.TEXTURE_FILTER_NEAREST render_result.texture_filter = CanvasItem.TEXTURE_FILTER_NEAREST

View file

@ -1,4 +1,4 @@
[gd_resource type="VisualShader" load_steps=16 format=3 uid="uid://dd1axtdlit6no"] [gd_resource type="VisualShader" load_steps=17 format=3 uid="uid://dd1axtdlit6no"]
[sub_resource type="VisualShaderNodeTexture2DParameter" id="VisualShaderNodeTexture2DParameter_t1tvu"] [sub_resource type="VisualShaderNodeTexture2DParameter" id="VisualShaderNodeTexture2DParameter_t1tvu"]
parameter_name = "Vignette" parameter_name = "Vignette"
@ -35,6 +35,9 @@ operator = 2
default_input_values = [0, Vector3(1, 1, 1), 1, Vector3(-1, -1, 0)] default_input_values = [0, Vector3(1, 1, 1), 1, Vector3(-1, -1, 0)]
operator = 1 operator = 1
[sub_resource type="VisualShaderNodeVec2Parameter" id="VisualShaderNodeVec2Parameter_ren8n"]
parameter_name = "UVScale"
[sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_24i63"] [sub_resource type="VisualShaderNodeInput" id="VisualShaderNodeInput_24i63"]
input_name = "screen_uv" input_name = "screen_uv"
@ -55,6 +58,7 @@ max = 5.0
code = "shader_type canvas_item; code = "shader_type canvas_item;
render_mode blend_disabled; render_mode blend_disabled;
uniform vec2 UVScale;
uniform float BlurAmount : hint_range(0, 5, 0.10000000149012); uniform float BlurAmount : hint_range(0, 5, 0.10000000149012);
uniform sampler2D ScreenTexture : filter_linear_mipmap, hint_screen_texture; uniform sampler2D ScreenTexture : filter_linear_mipmap, hint_screen_texture;
uniform sampler2D Vignette : filter_linear_mipmap, repeat_enable; uniform sampler2D Vignette : filter_linear_mipmap, repeat_enable;
@ -67,10 +71,13 @@ void fragment() {
vec2 n_out4p0 = SCREEN_UV; vec2 n_out4p0 = SCREEN_UV;
// Vector2Parameter:27
vec2 n_out27p0 = UVScale;
// UVFunc:21 // UVFunc:21
vec2 n_in21p1 = vec2(0.90000, 0.90000);
vec2 n_in21p2 = vec2(0.50000, 0.50000); vec2 n_in21p2 = vec2(0.50000, 0.50000);
vec2 n_out21p0 = (n_out4p0 - n_in21p2) * n_in21p1 + n_in21p2; vec2 n_out21p0 = (n_out4p0 - n_in21p2) * n_out27p0 + n_in21p2;
// FloatParameter:9 // FloatParameter:9
@ -136,39 +143,41 @@ void fragment() {
} }
" "
graph_offset = Vector2(-281.758, 131.259) graph_offset = Vector2(-708.833, 8.55267)
mode = 1 mode = 1
modes/blend = 5 modes/blend = 5
flags/light_only = false flags/light_only = false
nodes/fragment/0/position = Vector2(680, 160) nodes/fragment/0/position = Vector2(680, 160)
nodes/fragment/4/node = SubResource("VisualShaderNodeInput_24i63") nodes/fragment/4/node = SubResource("VisualShaderNodeInput_24i63")
nodes/fragment/4/position = Vector2(-480, -540) nodes/fragment/4/position = Vector2(-760, -620)
nodes/fragment/7/node = SubResource("VisualShaderNodeTexture_le3j7") nodes/fragment/7/node = SubResource("VisualShaderNodeTexture_le3j7")
nodes/fragment/7/position = Vector2(20, 40) nodes/fragment/7/position = Vector2(20, -320)
nodes/fragment/8/node = SubResource("VisualShaderNodeTexture2DParameter_u0lfa") nodes/fragment/8/node = SubResource("VisualShaderNodeTexture2DParameter_u0lfa")
nodes/fragment/8/position = Vector2(-480, -120) nodes/fragment/8/position = Vector2(-480, -120)
nodes/fragment/9/node = SubResource("VisualShaderNodeFloatParameter_383fa") nodes/fragment/9/node = SubResource("VisualShaderNodeFloatParameter_383fa")
nodes/fragment/9/position = Vector2(-420, -440) nodes/fragment/9/position = Vector2(-420, -440)
nodes/fragment/10/node = SubResource("VisualShaderNodeTexture2DParameter_t1tvu") nodes/fragment/10/node = SubResource("VisualShaderNodeTexture2DParameter_t1tvu")
nodes/fragment/10/position = Vector2(-980, 560) nodes/fragment/10/position = Vector2(-1140, 740)
nodes/fragment/11/node = SubResource("VisualShaderNodeTexture_qsusy") nodes/fragment/11/node = SubResource("VisualShaderNodeTexture_qsusy")
nodes/fragment/11/position = Vector2(-500, 440) nodes/fragment/11/position = Vector2(-660, 620)
nodes/fragment/15/node = SubResource("VisualShaderNodeMultiplyAdd_e4whf") nodes/fragment/15/node = SubResource("VisualShaderNodeMultiplyAdd_e4whf")
nodes/fragment/15/position = Vector2(-840, 320) nodes/fragment/15/position = Vector2(-1000, 500)
nodes/fragment/16/node = SubResource("VisualShaderNodeVec2Constant_4drcy") nodes/fragment/16/node = SubResource("VisualShaderNodeVec2Constant_4drcy")
nodes/fragment/16/position = Vector2(-1080, 400) nodes/fragment/16/position = Vector2(-1240, 580)
nodes/fragment/18/node = SubResource("VisualShaderNodeUVPolarCoord_0o2bh") nodes/fragment/18/node = SubResource("VisualShaderNodeUVPolarCoord_0o2bh")
nodes/fragment/18/position = Vector2(-1120, 200) nodes/fragment/18/position = Vector2(-1280, 380)
nodes/fragment/20/node = SubResource("VisualShaderNodeColorParameter_juddb") nodes/fragment/20/node = SubResource("VisualShaderNodeColorParameter_juddb")
nodes/fragment/20/position = Vector2(-400, 860) nodes/fragment/20/position = Vector2(-560, 1040)
nodes/fragment/21/node = SubResource("VisualShaderNodeUVFunc_1ddw1") nodes/fragment/21/node = SubResource("VisualShaderNodeUVFunc_1ddw1")
nodes/fragment/21/position = Vector2(-20, -500) nodes/fragment/21/position = Vector2(-380, -640)
nodes/fragment/23/node = SubResource("VisualShaderNodeVectorOp_w3k0x") nodes/fragment/23/node = SubResource("VisualShaderNodeVectorOp_w3k0x")
nodes/fragment/23/position = Vector2(180, 420) nodes/fragment/23/position = Vector2(20, 600)
nodes/fragment/24/node = SubResource("VisualShaderNodeVectorOp_0a06v") nodes/fragment/24/node = SubResource("VisualShaderNodeVectorOp_0a06v")
nodes/fragment/24/position = Vector2(400, 180) nodes/fragment/24/position = Vector2(400, 180)
nodes/fragment/25/node = SubResource("VisualShaderNodeVectorOp_g3bno") nodes/fragment/25/node = SubResource("VisualShaderNodeVectorOp_g3bno")
nodes/fragment/25/position = Vector2(0, 660) nodes/fragment/25/position = Vector2(-160, 840)
nodes/fragment/26/node = SubResource("VisualShaderNodeVectorOp_4s8mp") nodes/fragment/26/node = SubResource("VisualShaderNodeVectorOp_4s8mp")
nodes/fragment/26/position = Vector2(-260, 600) nodes/fragment/26/position = Vector2(-420, 780)
nodes/fragment/connections = PackedInt32Array(8, 0, 7, 2, 9, 0, 7, 1, 10, 0, 11, 2, 15, 0, 11, 0, 16, 0, 15, 2, 18, 0, 15, 0, 4, 0, 21, 0, 11, 0, 23, 0, 7, 0, 24, 0, 25, 0, 23, 1, 20, 0, 25, 1, 26, 0, 25, 0, 11, 0, 26, 1, 23, 0, 24, 1, 24, 0, 0, 0, 21, 0, 7, 0) nodes/fragment/27/node = SubResource("VisualShaderNodeVec2Parameter_ren8n")
nodes/fragment/27/position = Vector2(-1060, -680)
nodes/fragment/connections = PackedInt32Array(8, 0, 7, 2, 9, 0, 7, 1, 10, 0, 11, 2, 15, 0, 11, 0, 16, 0, 15, 2, 18, 0, 15, 0, 4, 0, 21, 0, 11, 0, 23, 0, 7, 0, 24, 0, 25, 0, 23, 1, 20, 0, 25, 1, 26, 0, 25, 0, 11, 0, 26, 1, 23, 0, 24, 1, 24, 0, 0, 0, 21, 0, 7, 0, 27, 0, 21, 1)