Merge branch 'development' of gitlab.com:betalars/frame-of-mind into development

This commit is contained in:
betalars 2023-08-30 11:23:51 +02:00
commit a43a4b2032
26 changed files with 21892 additions and 103 deletions

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 30 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 3.7 MiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 421 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@ -24,12 +24,19 @@
## Wikimedia Commons ## Wikimedia Commons
- [Gebäude in Darmstadt](https://commons.wikimedia.org/wiki/File:Geb%C3%A4ude_in_Darmstadt.jpg) by [Neq00](https://commons.wikimedia.org/wiki/User:Neq00) CC-BY-SA 4.0 - [Gebäude in Darmstadt](https://commons.wikimedia.org/wiki/File:Geb%C3%A4ude_in_Darmstadt.jpg) by [Neq00](https://commons.wikimedia.org/wiki/User:Neq00) CC-BY-SA 4.0
## Comic Illustrations ## Illustrations
- by [Fernand0FC](https://www.deviantart.com/fernand0fc), CC-BY-3.0 - by [Fernand0FC](https://www.deviantart.com/fernand0fc), CC-BY-3.0
+ [Corporate level bodyguard](https://www.deviantart.com/fernand0fc/art/Corporate-level-bodyguard-803579124) + [Corporate level bodyguard](https://www.deviantart.com/fernand0fc/art/Corporate-level-bodyguard-803579124)
+ [Into the glowing sea](https://www.deviantart.com/fernand0fc/art/Into-the-glowing-sea-834238466) + [Into the glowing sea](https://www.deviantart.com/fernand0fc/art/Into-the-glowing-sea-834238466)
+ [Anti-Hero](https://www.deviantart.com/fernand0fc/art/Anti-Hero-555054767) + [Anti-Hero](https://www.deviantart.com/fernand0fc/art/Anti-Hero-555054767)
+ [Unknown Horizons](https://unknown-horizons.org/) Artwork, provided by a [GPL-2.0 license](https://github.com/unknown-horizons/unknown-horizons.github.io/blob/source/LICENSE)
+ [Strange Adventures in Infinite Space](https://rich.itch.io/strangeadventures) by [Digital Eel](https://rich.itch.io), CC-BY-NC 4.0
+ [Star Ruler 2](https://github.com/BlindMindStudios/StarRuler2-Source), CC-BY-NC 2.0
+ [MegaGlest](https://megaglest.org/), GPL
+ [Splash Screen Neo](https://inkscape.org/de/~MuhamadAliAkbar/%E2%98%85splash-screen-neon) by [Muhamad Ali Akbar](https://inkscape.org/de/~MuhamadAliAkbar/), CC-BY-SA
+ [Oh My Git](https://ohmygit.org/) by [bleeptrack](https://bleeptrack.de/) and [blinry](https://morr.cc/), Blue Oak Model License
+ [Ghostwriter]() by kde****
## Music ## Music
- [Foundations I by Azure Studios](https://azurestudios.bandcamp.com/album/foundations-i-24bit), CC-BY 3.0 - [Foundations I by Azure Studios](https://azurestudios.bandcamp.com/album/foundations-i-24bit), CC-BY 3.0
@ -42,6 +49,6 @@
## Fonts all using OFL ## Fonts all using OFL
- Nanum Script by [Sandoll](https://fonts.google.com/?query=Sandoll) - Nanum Fonts by [Sandoll](https://fonts.google.com/?query=Sandoll)
- Atkinson Hyperlegible by Braille Institute, Applied Design Works, Elliott Scott, Megan Eiswerth, Linus Boman, Theodore Petrosky - Atkinson Hyperlegible by Braille Institute, Applied Design Works, Elliott Scott, Megan Eiswerth, Linus Boman, Theodore Petrosky
- -

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -11,8 +11,8 @@ var revealed: bool = false:
wrapper.show() wrapper.show()
ui.show() ui.show()
else: else:
wrapper.hide()
ui.hide() ui.hide()
wrapper.hide()
var has_mouse: bool = false var has_mouse: bool = false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 MiB

After

Width:  |  Height:  |  Size: 6.1 MiB

Binary file not shown.

View File

@ -0,0 +1,55 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cxpali5h6rtvy"
path="res://.godot/imported/windows.glb-e9e12fe354df28782c5ffaffee432d1d.scn"
[deps]
source_file="res://base-environments/youth_room/import/windows.glb"
dest_files=["res://.godot/imported/windows.glb-e9e12fe354df28782c5ffaffee432d1d.scn"]
[params]
nodes/root_type="Node3D"
nodes/root_name="Scene Root"
nodes/apply_root_scale=true
nodes/root_scale=1.0
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
import_script/path=""
_subresources={
"materials": {
"door": {
"use_external/enabled": true,
"use_external/path": "res://base-environments/youth_room/import/materials/door.tres"
},
"window_glass": {
"use_external/enabled": true,
"use_external/path": "res://base-environments/youth_room/shaders/window.material"
}
},
"meshes": {
"windows_windows": {
"generate/lightmap_uv": 0,
"generate/lods": 0,
"generate/shadow_meshes": 0,
"lods/normal_merge_angle": 30.0,
"lods/normal_split_angle": 15.0,
"save_to_file/enabled": false,
"save_to_file/make_streamable": "",
"save_to_file/path": ""
}
}
}
gltf/embedded_image_handling=1

File diff suppressed because one or more lines are too long

View File

@ -1,8 +1,9 @@
[gd_scene load_steps=4 format=3 uid="uid://bvowj4l8dtceu"] [gd_scene load_steps=5 format=3 uid="uid://bvowj4l8dtceu"]
[ext_resource type="Script" path="res://dev-util/devs_board.gd" id="1_ols6o"] [ext_resource type="Script" path="res://dev-util/devs_board.gd" id="1_ols6o"]
[ext_resource type="PackedScene" uid="uid://dy5rd437h5hsw" path="res://logic-scenes/board/card.tscn" id="1_xrckx"] [ext_resource type="PackedScene" uid="uid://dy5rd437h5hsw" path="res://logic-scenes/board/card.tscn" id="1_xrckx"]
[ext_resource type="PackedScene" uid="uid://vkcdj8c3ytbq" path="res://logic-scenes/board/post-it.tscn" id="2_ucudl"] [ext_resource type="PackedScene" uid="uid://vkcdj8c3ytbq" path="res://logic-scenes/board/post-it.tscn" id="2_ucudl"]
[ext_resource type="PackedScene" uid="uid://dp4eps03igd3w" path="res://logic-scenes/board/void_card.tscn" id="4_b7cny"]
[node name="board of devs" type="Control"] [node name="board of devs" type="Control"]
layout_mode = 3 layout_mode = 3
@ -115,7 +116,7 @@ text = "My body just didn't feel right"
position = Vector2(-32, 140) position = Vector2(-32, 140)
text = "I just hate being treated like a girl" text = "I just hate being treated like a girl"
[node name="c_void" parent="juijutsu" instance=ExtResource("1_xrckx")] [node name="c_void" parent="juijutsu" instance=ExtResource("4_b7cny")]
position = Vector2(0, 600) position = Vector2(0, 600)
[node name="p_wet" parent="juijutsu/c_void" groups=["c_void"] instance=ExtResource("2_ucudl")] [node name="p_wet" parent="juijutsu/c_void" groups=["c_void"] instance=ExtResource("2_ucudl")]

View File

@ -130,6 +130,7 @@ func is_in_dropzone(to_check: Node) -> bool:
# called if a mouse button is pressed # called if a mouse button is pressed
func handle_mouse_button(to_handle: Area2D, input: InputEvent): func handle_mouse_button(to_handle: Area2D, input: InputEvent):
# No two areas can be dragged at the same time. # No two areas can be dragged at the same time.
# Make sure that only the same area is dragged. # Make sure that only the same area is dragged.
# Otherwise overlapping areas are dragged at the same time. # Otherwise overlapping areas are dragged at the same time.
@ -141,11 +142,8 @@ func handle_mouse_button(to_handle: Area2D, input: InputEvent):
to_handle.is_dragged = input.pressed to_handle.is_dragged = input.pressed
is_area_dragged = input.pressed is_area_dragged = input.pressed
# TODO: We need a better way to recognize whether "to_handle" is a Card or a Post-It. # Check what is being dragged
# (Tried checking for a script, didn't work, because script has no name attached.
# Alternative might be to check for specific values within the script ("is_card" f.e))
if to_handle is Card: if to_handle is Card:
active_context = ui_context.DROPZONE active_context = ui_context.DROPZONE
if input.is_pressed(): if input.is_pressed():
reorder_areas("dropzone_content") reorder_areas("dropzone_content")
@ -154,13 +152,17 @@ func handle_mouse_button(to_handle: Area2D, input: InputEvent):
dropzone.move_child(currently_dragged_area, -1) dropzone.move_child(currently_dragged_area, -1)
currently_dragged_area = null currently_dragged_area = null
elif to_handle is PostIt: elif to_handle is PostIt:
if input.is_pressed(): if input.is_action_pressed("mouse_left"):
to_handle.reparent(dropzone) to_handle.reparent(dropzone)
to_handle.on_board = true to_handle.on_board = true
to_handle.set_owner(self) # needs to be here otherwise the owner disappears to_handle.set_owner(self) # needs to be here otherwise the owner disappears
area_dict["post_its_in_list"].erase(to_handle) area_dict["post_its_in_list"].erase(to_handle)
area_dict["dropzone_content"].push_back(to_handle) area_dict["dropzone_content"].push_back(to_handle)
# TODO (if needed): Add function to rearrange the array based on positions in the dropzone elif input.is_action_pressed("mouse_right"):
_return_postit_to_panels(to_handle)
to_handle.is_dragged = false
is_area_dragged = false
currently_dragged_area = null
else: else:
if is_in_dropzone(to_handle): if is_in_dropzone(to_handle):
if to_handle.has_overlapping_areas(): if to_handle.has_overlapping_areas():
@ -180,17 +182,13 @@ func handle_mouse_button(to_handle: Area2D, input: InputEvent):
# Logic for attaching a postit to a card. Also reset postit positions if the card cannot be attached # Logic for attaching a postit to a card. Also reset postit positions if the card cannot be attached
func attach_postit_to_card(postit: Area2D, card: Area2D, update_dict = false): func attach_postit_to_card(postit: Area2D, card: Area2D, update_dict = false):
if postit.is_in_group(card.name):
if card.has_postit_attached(): if card.has_postit_attached():
if active_context == ui_context.ASSIGN_POST_IT: if active_context == ui_context.ASSIGN_POST_IT:
_return_postit_to_panels(postit) # don't attach if card has already a post-it attached _return_postit_to_panels(postit) # don't attach if card has already a post-it attached
return return
postit.reparent(card)
postit.on_board = false
postit.set_owner(self) postit.set_owner(self)
postit.position = card.get_child(3).position
if update_dict: if update_dict:
area_dict["post_its_in_list"].erase(postit) area_dict["post_its_in_list"].erase(postit)
@ -207,6 +205,13 @@ func attach_postit_to_card(postit: Area2D, card: Area2D, update_dict = false):
return return
emit_signal("board_completed") emit_signal("board_completed")
func is_board_lore() -> bool:
for post_it in area_dict["dropzone_content"]:
if post_it is PostIt:
var card = post_it.get_parent().get_parent()
if not post_it.is_in_group(card.name): return false
return true
# Mark area that was hovered over as currently selected # Mark area that was hovered over as currently selected
func handle_hover(to_handle: Area2D): func handle_hover(to_handle: Area2D):
if to_handle != currently_selected_node: if to_handle != currently_selected_node:
@ -243,6 +248,7 @@ func _input(event):
if event.is_action_pressed("ui_cancel"): if event.is_action_pressed("ui_cancel"):
State.leave_stage(self) State.leave_stage(self)
# Return, if the input is a mouse event (mouse events are handled separately) # Return, if the input is a mouse event (mouse events are handled separately)
if event is InputEventMouse or !has_stage or not is_instance_valid(currently_selected_node): return if event is InputEventMouse or !has_stage or not is_instance_valid(currently_selected_node): return
@ -266,7 +272,7 @@ func _input(event):
elif event.is_action_pressed("ui_left"): # left to switch context to the left elif event.is_action_pressed("ui_left"): # left to switch context to the left
active_context -= 1 active_context -= 1
if active_context < -1: if active_context <= -1:
active_context = ui_context.POST_IT_LIST active_context = ui_context.POST_IT_LIST
elif event.is_action_pressed("ui_right"): # right to switch context to the right elif event.is_action_pressed("ui_right"): # right to switch context to the right
@ -282,8 +288,6 @@ func _input(event):
else: else:
_enter_assignment_context() _enter_assignment_context()
# TODO: I forgor the HECKING RIGHT-CLICK!!!!111 AAAAAAAAAAAAAAAAAAAA
# do some adjustments to loop elements (after last element, select first one etc.) # do some adjustments to loop elements (after last element, select first one etc.)
if selected_dropzone_element < 0: if selected_dropzone_element < 0:
selected_dropzone_element = area_dict["dropzone_content"].size()-1 selected_dropzone_element = area_dict["dropzone_content"].size()-1
@ -345,7 +349,7 @@ func _enter_assignment_context():
# move the post it so it floats next to the card where it should be attached # move the post it so it floats next to the card where it should be attached
func _select_card_for_assigning(post_it: Area2D, card: Area2D): func _select_card_for_assigning(post_it: Area2D, card: Area2D):
post_it.tween_transform_to(card.get_child(3).global_position + Vector2(0, 50)) post_it.tween_transform_to(card.get_child(3).global_position)
# leaves the context for assigning postit via button controls # leaves the context for assigning postit via button controls
func _leave_assignment_context(): func _leave_assignment_context():
@ -356,15 +360,14 @@ func _leave_assignment_context():
# handles everything to return a post it to the panels # handles everything to return a post it to the panels
func _return_postit_to_panels(post_it: Area2D): func _return_postit_to_panels(post_it: Area2D):
for panel in area_dict["post_it_panels"]: for panel in area_dict["post_it_panels"]:
print(area_dict["post_it_panels"])
if panel.get_child_count() == 1: if panel.get_child_count() == 1:
area_dict["dropzone_content"].erase(post_it) area_dict["dropzone_content"].erase(post_it)
post_it.on_board = false post_it.on_board = false
area_dict["post_its_in_list"].push_back(post_it) area_dict["post_its_in_list"].push_back(post_it)
#post_it.tween_transform_to(panel.get_child(0).position)
post_it.reparent(panel) post_it.reparent(panel)
post_it.transform = panel.get_child(0).transform post_it.transform = panel.get_child(0).transform
post_it.set_owner(self) post_it.set_owner(self)
#post_it.position = Vector2(0,0)
reorder_areas("dropzone_content") reorder_areas("dropzone_content")
reorder_areas("post_its_in_list") reorder_areas("post_its_in_list")
break break

View File

@ -4,6 +4,11 @@ extends Area2D
class_name Card class_name Card
var compatible_postits: Array[PostIt] = [] var compatible_postits: Array[PostIt] = []
var own_postits: Array[PostIt] = [] var own_postits: Array[PostIt] = []
var current_post_it: PostIt = null
var is_in_preview: bool = false:
set(preview):
is_in_preview = preview
highlighted = preview
var wiggle_pos: float = 0 var wiggle_pos: float = 0
var wiggle_intensity: float = 0 var wiggle_intensity: float = 0
var noise: Noise = FastNoiseLite.new() var noise: Noise = FastNoiseLite.new()
@ -52,6 +57,7 @@ var scale_tween
@export var voice_line: AudioStream = null @export var voice_line: AudioStream = null
@export var is_dragable: bool = false @export var is_dragable: bool = false
@onready var diameter = $CollisionShape2D.shape.height @onready var diameter = $CollisionShape2D.shape.height
@onready var postit_anchor = get_child(3)
var is_dragged: bool = false: var is_dragged: bool = false:
set(dragged): set(dragged):
@ -124,7 +130,7 @@ func _on_mouse_entered():
is_mouse_entered = true is_mouse_entered = true
if not Input.is_action_pressed("mouse_left"): if not Input.is_action_pressed("mouse_left"):
if has_postit_attached(): if has_postit_attached():
if get_child(-1).highlighted: if postit_anchor.get_child(-1).highlighted:
return return
highlighted = true highlighted = true
if "handle_hover" in owner: if "handle_hover" in owner:
@ -151,11 +157,28 @@ func _move_card():
position += (get_viewport().get_mouse_position() - position) - mouse_offset position += (get_viewport().get_mouse_position() - position) - mouse_offset
func has_postit_attached() -> bool: func has_postit_attached() -> bool:
var all_children = get_children() return is_instance_valid(current_post_it) and not is_in_preview
for child in all_children:
if child is PostIt: func preview_postit(postit: PostIt) -> bool:
return true is_in_preview = attach_postit(postit)
return is_in_preview
func attach_postit(postit: PostIt) -> bool:
if is_instance_valid(current_post_it):
return false return false
postit.reparent(get_child(3, true))
postit.position = Vector2(0,0)
postit.on_board = false
if not is_in_preview: current_post_it = postit
return true
func remove_postit() -> PostIt:
var former_child:PostIt = current_post_it
current_post_it = null
former_child.reparent(get_parent())
former_child.on_board = true
is_in_preview = false
return former_child
func check_hover(): func check_hover():
if is_mouse_entered: if is_mouse_entered:

View File

@ -83,7 +83,7 @@ theme_type_variation = &"card_text"
autowrap_mode = 3 autowrap_mode = 3
[node name="postit anchor" type="Node2D" parent="."] [node name="postit anchor" type="Node2D" parent="."]
position = Vector2(-65.6478, 60.3852) position = Vector2(-66, 83)
[connection signal="input_event" from="." to="." method="_on_input_event"] [connection signal="input_event" from="." to="." method="_on_input_event"]
[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"] [connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"]

View File

@ -1,11 +1,10 @@
[gd_scene load_steps=11 format=3 uid="uid://bnskiyx1sksww"] [gd_scene load_steps=10 format=3 uid="uid://bnskiyx1sksww"]
[ext_resource type="Texture2D" uid="uid://bi3xqdknw5tpe" path="res://logic-scenes/board/board-texture/Cork002_2K_Color.png" id="1_8brxc"] [ext_resource type="Texture2D" uid="uid://bi3xqdknw5tpe" path="res://logic-scenes/board/board-texture/Cork002_2K_Color.png" id="1_8brxc"]
[ext_resource type="Shader" path="res://logic-scenes/board/physics-board.gdshader" id="1_ggnth"] [ext_resource type="Shader" path="res://logic-scenes/board/physics-board.gdshader" id="1_ggnth"]
[ext_resource type="Script" path="res://logic-scenes/board/card-board.gd" id="3_8v4c4"] [ext_resource type="Script" path="res://logic-scenes/board/card-board.gd" id="3_8v4c4"]
[ext_resource type="PackedScene" uid="uid://dy5rd437h5hsw" path="res://logic-scenes/board/card.tscn" id="3_mg053"]
[ext_resource type="PackedScene" uid="uid://bvowj4l8dtceu" path="res://dev-util/board of devs.tscn" id="4_sskx2"] [ext_resource type="PackedScene" uid="uid://bvowj4l8dtceu" path="res://dev-util/board of devs.tscn" id="4_sskx2"]
[ext_resource type="PackedScene" uid="uid://chwf61qpn2sqw" path="res://logic-scenes/board/empty_postIt_panel.tscn" id="5_dr0qs"] [ext_resource type="PackedScene" path="res://logic-scenes/board/empty_postIt_panel.tscn" id="5_dr0qs"]
[ext_resource type="Script" path="res://logic-scenes/board/card collider.gd" id="6_wpxls"] [ext_resource type="Script" path="res://logic-scenes/board/card collider.gd" id="6_wpxls"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ttqei"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_ttqei"]
@ -41,20 +40,6 @@ layout_mode = 2
size_flags_horizontal = 3 size_flags_horizontal = 3
mouse_filter = 1 mouse_filter = 1
[node name="card3" parent="HBoxContainer/dropzone" instance=ExtResource("3_mg053")]
process_mode = 4
visible = false
z_as_relative = false
position = Vector2(371, 290)
collision_layer = 2147483649
is_dragable = true
[node name="card" parent="HBoxContainer/dropzone" instance=ExtResource("3_mg053")]
process_mode = 4
visible = false
position = Vector2(640, 659)
is_dragable = true
[node name="ScrollContainer" type="ScrollContainer" parent="HBoxContainer"] [node name="ScrollContainer" type="ScrollContainer" parent="HBoxContainer"]
layout_mode = 2 layout_mode = 2
horizontal_scroll_mode = 0 horizontal_scroll_mode = 0

View File

@ -106,7 +106,7 @@ func _on_input_event(viewport, event, shape_idx):
_move_post_it() _move_post_it()
if event is InputEventMouseButton: if event is InputEventMouseButton:
if event.button_index == MOUSE_BUTTON_LEFT: if event.button_index == MOUSE_BUTTON_LEFT or event.button_index == MOUSE_BUTTON_RIGHT:
if "handle_mouse_button" in owner: if "handle_mouse_button" in owner:
mouse_offset = (get_viewport().get_mouse_position() - global_position) mouse_offset = (get_viewport().get_mouse_position() - global_position)
owner.handle_mouse_button(self, event) owner.handle_mouse_button(self, event)
@ -116,9 +116,8 @@ func _move_post_it():
position += (get_viewport().get_mouse_position() - position) - mouse_offset position += (get_viewport().get_mouse_position() - position) - mouse_offset
func is_postit_attached() -> bool: func is_postit_attached() -> bool:
if self.get_parent() is Card: # there is probably a nicer way to do this
return true return self.get_parent().get_parent() is Card
return false
func tween_transform_to(target: Vector2): func tween_transform_to(target: Vector2):
var transform_tween = create_tween() var transform_tween = create_tween()

View File

@ -32,7 +32,10 @@ var selection_state = INI:
selection_state = state selection_state = state
_input_locked = !(state == CARDS or state == POSTS) _input_locked = !(state == CARDS or state == POSTS)
if state == DONE: if state == CARDS_SELECTED:
var tween = get_tree().create_tween()
tween.tween_property($thought_prompt, "modulate", Color(1, 1, 1, 0), 0.5)
elif state == DONE:
reset() reset()
var anim_players:Array = [] var anim_players:Array = []

View File

@ -1627,3 +1627,14 @@ text = "Post 4"
[node name="board of devs" parent="." instance=ExtResource("4_1kvte")] [node name="board of devs" parent="." instance=ExtResource("4_1kvte")]
visible = false visible = false
layout_mode = 2 layout_mode = 2
[node name="thought_prompt" type="Control" parent="."]
layout_mode = 2
[node name="Label" type="Label" parent="thought_prompt"]
layout_mode = 2
offset_left = -225.0
offset_top = -196.0
offset_right = 225.0
offset_bottom = -158.0
text = "Why does that story mean so much to me?"

View File

@ -88,7 +88,8 @@ func _ready():
func _hide_buttons(): func _hide_buttons():
if is_inside_tree(): if is_inside_tree():
if not State.reduce_motion: $AnimationPlayer.play_backwards("show_buttons") if not State.reduce_motion:
$AnimationPlayer.play_backwards("show_buttons")
func _show_buttons(): func _show_buttons():
if is_inside_tree(): if is_inside_tree():
@ -103,7 +104,7 @@ func hide():
if visible: if visible:
_hide_buttons() _hide_buttons()
var tween = create_tween() var tween = create_tween()
tween.tween_property(self, "modulate", 0, 0.4) tween.tween_property(self, "modulate", Color(0, 0, 0), 0.4)
_hide_buttons() _hide_buttons()
await tween.finished await tween.finished
visible = false visible = false

View File

@ -67,12 +67,15 @@ func _ready():
func _on_ini_room(): func _on_ini_room():
State.take_stage(self) State.take_stage(self)
get_tree().call_group("animation_player", "play_scene", Scenes.id.YOUTH_DRAEVEN, false)
State.queue_for_stage(self)
func _process(_delta): func _process(_delta):
if focus_ray.get_collider() != null: if focus_ray.get_collider() != null:
emit_signal("ui_entered") emit_signal("ui_entered")
has_entered = true has_entered = true
focus_ray.get_collider().reveal()
if has_entered and has_stage: if has_entered and has_stage:
if focus_ray.get_collider() == null: if focus_ray.get_collider() == null:

View File

@ -410,7 +410,7 @@ size_flags_horizontal = 3
size_flags_vertical = 4 size_flags_vertical = 4
max_value = 1.0 max_value = 1.0
step = 0.05 step = 0.05
value = 1.0 value = 0.5
ticks_on_borders = true ticks_on_borders = true
script = ExtResource("3_q2gbh") script = ExtResource("3_q2gbh")

View File

@ -31,7 +31,7 @@ gdscript/warnings/native_method_override=0
[display] [display]
window/size/viewport_width=1440 window/size/viewport_width=1440
window/size/viewport_height=1080 window/size/viewport_height=960
window/stretch/mode="canvas_items" window/stretch/mode="canvas_items"
window/stretch/aspect="expand" window/stretch/aspect="expand"
mouse_cursor/custom_image="res://import/interface-elements/cursor.png" mouse_cursor/custom_image="res://import/interface-elements/cursor.png"
@ -83,6 +83,11 @@ mouse_left={
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null) "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null)
] ]
} }
mouse_right={
"deadzone": 0.5,
"events": [null, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null)
]
}
look_right={ look_right={
"deadzone": 0.5, "deadzone": 0.5,
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":1.0,"script":null) "events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":1.0,"script":null)
@ -118,4 +123,5 @@ skip={
[rendering] [rendering]
scaling_3d/scale=0.6
anti_aliasing/quality/screen_space_aa=1 anti_aliasing/quality/screen_space_aa=1

View File

@ -111,7 +111,7 @@ shader = SubResource("Shader_p2314")
shader_parameter/albedo = Color(1, 1, 1, 1) shader_parameter/albedo = Color(1, 1, 1, 1)
shader_parameter/point_size = 1.0 shader_parameter/point_size = 1.0
shader_parameter/roughness = 1.0 shader_parameter/roughness = 1.0
shader_parameter/metallic_texture_channel = Plane(1, 0, 0, 0) shader_parameter/metallic_texture_channel = null
shader_parameter/specular = 0.5 shader_parameter/specular = 0.5
shader_parameter/metallic = 0.0 shader_parameter/metallic = 0.0
shader_parameter/particles_anim_h_frames = 1 shader_parameter/particles_anim_h_frames = 1