Merge branch 'main' into adi_dev
This commit is contained in:
commit
df9018ec9e
|
|
@ -0,0 +1,38 @@
|
||||||
|
## Summary
|
||||||
|
|
||||||
|
(This template will help you publicly describe an issue you have encountered. Contact email support, when you do not with to openly describe your Issue.)
|
||||||
|
|
||||||
|
(Fill out what is relevant to your issue and delete what's not)
|
||||||
|
|
||||||
|
## Steps to reproduce
|
||||||
|
(What did you do before finding the issue? Providing a step by step guide can help us solve it. Try if the issue still persists after restarting the game.)
|
||||||
|
|
||||||
|
Example
|
||||||
|
1. Load the first Level
|
||||||
|
2. Go to the Laptop and click the screen 4 times
|
||||||
|
3. Run at the window.
|
||||||
|
|
||||||
|
### What did you expect to happen?
|
||||||
|
(The player hits the window)
|
||||||
|
|
||||||
|
### What happend?
|
||||||
|
(The player floats up towards the sky)
|
||||||
|
|
||||||
|
## Did you change any settings?
|
||||||
|
|
||||||
|
(We will provide you with an option to just dump your config here in the future, but for now just describe what you did.)
|
||||||
|
|
||||||
|
## How do you play the game?
|
||||||
|
|
||||||
|
(With a racing wheel and a touch screen, obviousely)
|
||||||
|
|
||||||
|
## Please give us some System Info
|
||||||
|
|
||||||
|
- OS: GameOS 42
|
||||||
|
- Processor: intel Ryzen 1234XD
|
||||||
|
- Graphics Card: Radeon Battlemage Pro
|
||||||
|
|
||||||
|
## Possible Fixes
|
||||||
|
(This is the section for nerds, that already dug up our source code and know exactly what is going on.)
|
||||||
|
|
||||||
|
/label ~bug
|
||||||
|
|
@ -20,7 +20,6 @@
|
||||||
- [Wood Substance 009](https://ambientcg.com/view?id=WoodSubstance009)
|
- [Wood Substance 009](https://ambientcg.com/view?id=WoodSubstance009)
|
||||||
- [Wicker 010 B](https://ambientcg.com/view?id=Wicker010B)
|
- [Wicker 010 B](https://ambientcg.com/view?id=Wicker010B)
|
||||||
|
|
||||||
|
|
||||||
## Comic Illustrations
|
## Comic Illustrations
|
||||||
|
|
||||||
- by [Fernand0FC](https://www.deviantart.com/fernand0fc), CC-BY-3.0
|
- by [Fernand0FC](https://www.deviantart.com/fernand0fc), CC-BY-3.0
|
||||||
|
|
@ -28,6 +27,9 @@
|
||||||
+ [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)
|
||||||
|
|
||||||
|
## Music
|
||||||
|
- [Foundations I by Azure Studios](https://azurestudios.bandcamp.com/album/foundations-i-24bit), CC-BY 3.0
|
||||||
|
|
||||||
## Sounds Effects
|
## Sounds Effects
|
||||||
- [Rain on Windows, Interior](https://freesound.org/people/InspectorJ/sounds/346641/) by [InspectorJ](https://freesound.org/people/InspectorJ/) CC-BY 3.0
|
- [Rain on Windows, Interior](https://freesound.org/people/InspectorJ/sounds/346641/) by [InspectorJ](https://freesound.org/people/InspectorJ/) CC-BY 3.0
|
||||||
- [Rain and thunder](https://freesound.org/people/MrAuralization/sounds/241294/) by [MrAuralization](https://freesound.org/people/MrAuralization/) CC-BY 3.0
|
- [Rain and thunder](https://freesound.org/people/MrAuralization/sounds/241294/) by [MrAuralization](https://freesound.org/people/MrAuralization/) CC-BY 3.0
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 282 KiB |
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 1.2 MiB |
30
flake.lock
30
flake.lock
|
|
@ -17,12 +17,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1678901627,
|
"lastModified": 1689068808,
|
||||||
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
|
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
|
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -32,11 +35,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1679793451,
|
"lastModified": 1689078114,
|
||||||
"narHash": "sha256-JafTtgMDATE8dZOImBhWMA9RCn9AP8FVOpN+9K/tTlg=",
|
"narHash": "sha256-osG8BrX5RpKJ7wH+vI6auOU+ctvNOblT4XXCgknK47c=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0cd51a933d91078775b300cf0f29aa3495231aa2",
|
"rev": "b6cc7ff8fee93789bc871a267ab876c3fca042cb",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -50,6 +53,21 @@
|
||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|
|
||||||
|
|
@ -85,7 +85,7 @@
|
||||||
|
|
||||||
mkdir -p $out/share/${pname}
|
mkdir -p $out/share/${pname}
|
||||||
# This just copies the export template and packs the game files next to it
|
# This just copies the export template and packs the game files next to it
|
||||||
godot --headless --export-release "linux" $out/share/${pname}/${pname}
|
godot4 --headless --export-release "linux" $out/share/${pname}/${pname}
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,19 @@
|
||||||
extends Area3D
|
extends Area3D
|
||||||
|
|
||||||
@onready var pass_to_actor = $UiWrapper/UiSprite/SubViewport/Collectable_ui
|
@onready var pass_to_actor = $UiWrapper/UiSprite/SubViewport/Collectable_ui
|
||||||
|
@onready var wrapper = $UiWrapper
|
||||||
|
@onready var ui = $UiWrapper/UiSprite/SubViewport.get_child(0)
|
||||||
|
|
||||||
|
var revealed: bool = false:
|
||||||
|
set(on_stage):
|
||||||
|
revealed = on_stage
|
||||||
|
if on_stage:
|
||||||
|
wrapper.show()
|
||||||
|
ui.show()
|
||||||
|
else:
|
||||||
|
wrapper.hide()
|
||||||
|
ui.hide()
|
||||||
|
|
||||||
var has_mouse: bool = false
|
var has_mouse: bool = false
|
||||||
|
|
||||||
# Called when the node enters the scene tree for the first time.
|
# Called when the node enters the scene tree for the first time.
|
||||||
|
|
@ -9,9 +22,11 @@ func _ready():
|
||||||
|
|
||||||
func _on_mouse_entered():
|
func _on_mouse_entered():
|
||||||
input_ray_pickable = false
|
input_ray_pickable = false
|
||||||
$UiWrapper.show()
|
ui.collapsed = false
|
||||||
$UiWrapper/UiSprite/SubViewport/Collectable_ui.show()
|
|
||||||
has_mouse = true
|
has_mouse = true
|
||||||
|
|
||||||
func _on_mouse_exited():
|
func _on_mouse_exited():
|
||||||
assert(false)
|
assert(false)
|
||||||
|
|
||||||
|
func reveal():
|
||||||
|
revealed = true
|
||||||
|
|
|
||||||
BIN
src/base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3 (Stored with Git LFS)
Normal file
BIN
src/base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3 (Stored with Git LFS)
Normal file
Binary file not shown.
|
|
@ -0,0 +1,19 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="mp3"
|
||||||
|
type="AudioStreamMP3"
|
||||||
|
uid="uid://1tvopjmo6dp2"
|
||||||
|
path="res://.godot/imported/Azure Studios - mgd-723687677.mp3-ffcb00059cdac7ecd24487bd9e38d9cb.mp3str"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://base-environments/youth_room/audio/Azure Studios - mgd-723687677.mp3"
|
||||||
|
dest_files=["res://.godot/imported/Azure Studios - mgd-723687677.mp3-ffcb00059cdac7ecd24487bd9e38d9cb.mp3str"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=false
|
||||||
|
loop_offset=0
|
||||||
|
bpm=0
|
||||||
|
beat_count=0
|
||||||
|
bar_beats=4
|
||||||
|
|
@ -11,6 +11,8 @@ enum Modes {
|
||||||
|
|
||||||
signal freeze
|
signal freeze
|
||||||
signal unfreeze
|
signal unfreeze
|
||||||
|
signal ini_room
|
||||||
|
signal resume_room
|
||||||
|
|
||||||
var current_mode: int = Modes.FREEZE:
|
var current_mode: int = Modes.FREEZE:
|
||||||
set(new_mode):
|
set(new_mode):
|
||||||
|
|
@ -18,9 +20,7 @@ var current_mode: int = Modes.FREEZE:
|
||||||
current_mode = _update_scene(new_mode)
|
current_mode = _update_scene(new_mode)
|
||||||
|
|
||||||
func start():
|
func start():
|
||||||
$light_animation.play("light_up")
|
emit_signal("ini_room")
|
||||||
$AudioPlayer.play("intro")
|
|
||||||
State.pass_stage_to($PlayerController)
|
|
||||||
current_mode = Modes.WALKING
|
current_mode = Modes.WALKING
|
||||||
|
|
||||||
func _update_scene(new_mode) -> int:
|
func _update_scene(new_mode) -> int:
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ uniform float nebula_brightness = 4;
|
||||||
uniform vec2 nebula_scale = vec2(1.5);
|
uniform vec2 nebula_scale = vec2(1.5);
|
||||||
uniform sampler2D starlight_noise;
|
uniform sampler2D starlight_noise;
|
||||||
uniform sampler2D starlight_textures;
|
uniform sampler2D starlight_textures;
|
||||||
uniform float rotation_speed = 0.05;
|
uniform float rotation_speed = 0.02;
|
||||||
uniform vec2 rotation_pivot = vec2(.8);
|
uniform vec2 rotation_pivot = vec2(.8);
|
||||||
uniform vec2 drift_compensation = vec2(0.1, -0.2);
|
uniform vec2 drift_compensation = vec2(0.1, -0.2);
|
||||||
uniform float noise_strength = 0.2;
|
uniform float noise_strength = 0.2;
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,7 +1,6 @@
|
||||||
[gd_resource type="AudioBusLayout" format=3 uid="uid://djkwd76o033io"]
|
[gd_resource type="AudioBusLayout" format=3 uid="uid://djkwd76o033io"]
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
bus/0/mute = true
|
|
||||||
bus/1/name = &"text"
|
bus/1/name = &"text"
|
||||||
bus/1/solo = false
|
bus/1/solo = false
|
||||||
bus/1/mute = false
|
bus/1/mute = false
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,14 @@
|
||||||
[gd_scene load_steps=3 format=3 uid="uid://bvowj4l8dtceu"]
|
[gd_scene load_steps=4 format=3 uid="uid://bvowj4l8dtceu"]
|
||||||
|
|
||||||
[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"]
|
||||||
|
|
||||||
|
[sub_resource type="GDScript" id="GDScript_cr445"]
|
||||||
|
script/source = "extends Control
|
||||||
|
|
||||||
|
var has_stage: bool = false
|
||||||
|
"
|
||||||
|
|
||||||
[node name="board of devs" type="Control"]
|
[node name="board of devs" type="Control"]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
anchors_preset = 15
|
anchors_preset = 15
|
||||||
|
|
@ -10,6 +16,7 @@ anchor_right = 1.0
|
||||||
anchor_bottom = 1.0
|
anchor_bottom = 1.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
|
script = SubResource("GDScript_cr445")
|
||||||
|
|
||||||
[node name="childhood" type="Control" parent="."]
|
[node name="childhood" type="Control" parent="."]
|
||||||
anchors_preset = 0
|
anchors_preset = 0
|
||||||
|
|
|
||||||
|
|
@ -14,11 +14,6 @@ func _process(_delta):
|
||||||
look_at(look, Vector3.UP)
|
look_at(look, Vector3.UP)
|
||||||
|
|
||||||
func _unhandled_input(event):
|
func _unhandled_input(event):
|
||||||
if event is InputEventMouse:
|
|
||||||
if event is InputEventMouseButton:
|
|
||||||
if event.button_index == MOUSE_BUTTON_RIGHT:
|
|
||||||
assert(false)
|
|
||||||
return
|
|
||||||
viewport.push_input(event)
|
viewport.push_input(event)
|
||||||
|
|
||||||
func _on_input_event(_camera: Camera3D, event: InputEvent, pos: Vector3, _normal: Vector3, _shape_idx: int):
|
func _on_input_event(_camera: Camera3D, event: InputEvent, pos: Vector3, _normal: Vector3, _shape_idx: int):
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,18 @@ enum ui_context {DROPZONE, POST_IT_LIST, ASSIGN_POST_IT}
|
||||||
|
|
||||||
var has_stage = false:
|
var has_stage = false:
|
||||||
set(focus):
|
set(focus):
|
||||||
if focus != has_stage:
|
|
||||||
if focus:
|
if focus:
|
||||||
has_stage = true
|
has_stage = true
|
||||||
self.mouse_filter = Control.MOUSE_FILTER_PASS
|
self.mouse_filter = Control.MOUSE_FILTER_PASS
|
||||||
else:
|
else:
|
||||||
has_stage = false
|
has_stage = false
|
||||||
self.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
self.mouse_filter = Control.MOUSE_FILTER_IGNORE
|
||||||
|
if is_node_ready():
|
||||||
|
#fixme: thie should be replaced by a reference that holds all children ...
|
||||||
|
for child in dropzone.get_children():
|
||||||
|
child.on_stage = has_stage
|
||||||
|
for child in postit_container.get_children():
|
||||||
|
child.get_child(1).on_stage = has_stage
|
||||||
|
|
||||||
@onready var dropzone = $HBoxContainer/dropzone
|
@onready var dropzone = $HBoxContainer/dropzone
|
||||||
@onready var postit_container = $HBoxContainer/ScrollContainer/VBoxContainer
|
@onready var postit_container = $HBoxContainer/ScrollContainer/VBoxContainer
|
||||||
|
|
@ -36,6 +41,7 @@ func _ready():
|
||||||
reorder_areas("dropzone_content")
|
reorder_areas("dropzone_content")
|
||||||
active_context = ui_context.DROPZONE
|
active_context = ui_context.DROPZONE
|
||||||
|
|
||||||
|
has_stage = has_stage
|
||||||
|
|
||||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
|
|
|
||||||
|
|
@ -10,16 +10,18 @@ var noise: Noise = FastNoiseLite.new()
|
||||||
var wiggle_tween
|
var wiggle_tween
|
||||||
var scale_tween
|
var scale_tween
|
||||||
|
|
||||||
|
var on_stage = false
|
||||||
|
|
||||||
@export var text: String = "" :
|
@export var text: String = "" :
|
||||||
set (value):
|
set(value):
|
||||||
text = value
|
text = value
|
||||||
if is_inside_tree() or Engine.is_editor_hint():
|
if get_children() != [] or Engine.is_editor_hint():
|
||||||
$Label.text = value
|
$Label.text = value
|
||||||
$BackgroundSprite.frame = text.hash() % $BackgroundSprite.sprite_frames.get_frame_count($BackgroundSprite.animation)
|
$BackgroundSprite.frame = text.hash() % $BackgroundSprite.sprite_frames.get_frame_count($BackgroundSprite.animation)
|
||||||
if is_inside_tree() and !Engine.is_editor_hint():
|
if !Engine.is_editor_hint():
|
||||||
wiggle_pos = float(text.hash() % 100)
|
wiggle_pos = float(text.hash() % 100)
|
||||||
_handle_wiggle(0)
|
_handle_wiggle(0)
|
||||||
if is_inside_tree() and value == "":
|
if get_children() != [] and !Engine.is_editor_hint() and text == "":
|
||||||
$BackgroundSprite.void_active = true
|
$BackgroundSprite.void_active = true
|
||||||
@export var wiggle_strength: float = 0.2
|
@export var wiggle_strength: float = 0.2
|
||||||
@export var wiggle_speed: float = 5
|
@export var wiggle_speed: float = 5
|
||||||
|
|
@ -74,13 +76,14 @@ func _ready():
|
||||||
|
|
||||||
$BackgroundSprite.frame = text.hash() % $BackgroundSprite.sprite_frames.get_frame_count($BackgroundSprite.animation)
|
$BackgroundSprite.frame = text.hash() % $BackgroundSprite.sprite_frames.get_frame_count($BackgroundSprite.animation)
|
||||||
$Label.text = self.text
|
$Label.text = self.text
|
||||||
|
if not Engine.is_editor_hint(): $BackgroundSprite.void_active = text == ""
|
||||||
|
|
||||||
wiggle_pos = float(text.hash() % 100)
|
wiggle_pos = float(text.hash() % 100)
|
||||||
if not Engine.is_editor_hint():
|
if not Engine.is_editor_hint():
|
||||||
_handle_wiggle(0)
|
_handle_wiggle(0)
|
||||||
|
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
|
if self.on_stage:
|
||||||
if highlighted:
|
if highlighted:
|
||||||
_handle_wiggle(delta)
|
_handle_wiggle(delta)
|
||||||
|
|
||||||
|
|
@ -104,16 +107,18 @@ func _on_focus_exited():
|
||||||
print(self, "is not focused")
|
print(self, "is not focused")
|
||||||
|
|
||||||
func _on_mouse_entered():
|
func _on_mouse_entered():
|
||||||
|
if self.on_stage:
|
||||||
if not Input.is_action_pressed("mouse_left"):
|
if not Input.is_action_pressed("mouse_left"):
|
||||||
highlighted = true
|
highlighted = true
|
||||||
if "handle_hover" in owner:
|
if "handle_hover" in owner:
|
||||||
owner.handle_hover(self)
|
owner.handle_hover(self)
|
||||||
|
|
||||||
func _on_mouse_exited():
|
func _on_mouse_exited():
|
||||||
|
if self.on_stage:
|
||||||
highlighted = false
|
highlighted = false
|
||||||
|
|
||||||
func _on_input_event(viewport, event, shape_idx):
|
func _on_input_event(viewport, event, shape_idx):
|
||||||
|
if self.on_stage:
|
||||||
if event is InputEventMouseMotion:
|
if event is InputEventMouseMotion:
|
||||||
_move_card()
|
_move_card()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ var sibling
|
||||||
var shift_tween
|
var shift_tween
|
||||||
var modulate_tween
|
var modulate_tween
|
||||||
|
|
||||||
|
var on_stage = false
|
||||||
|
|
||||||
@export var text: String = "" :
|
@export var text: String = "" :
|
||||||
set (value):
|
set (value):
|
||||||
if is_inside_tree() or Engine.is_editor_hint():
|
if is_inside_tree() or Engine.is_editor_hint():
|
||||||
|
|
@ -60,9 +62,9 @@ func replace_with(postit: PostIt):
|
||||||
self.sibling = postit.sibling
|
self.sibling = postit.sibling
|
||||||
|
|
||||||
func _process(_delta: float) -> void:
|
func _process(_delta: float) -> void:
|
||||||
|
if on_stage:
|
||||||
_move_post_it()
|
_move_post_it()
|
||||||
|
|
||||||
|
|
||||||
func _on_focus_entered():
|
func _on_focus_entered():
|
||||||
print(self, "is focused")
|
print(self, "is focused")
|
||||||
|
|
||||||
|
|
@ -70,7 +72,7 @@ func _on_focus_exited():
|
||||||
print(self, "is not focused")
|
print(self, "is not focused")
|
||||||
|
|
||||||
func _on_mouse_entered():
|
func _on_mouse_entered():
|
||||||
if not Input.is_action_pressed("mouse_left"):
|
if on_stage and not Input.is_action_pressed("mouse_left"):
|
||||||
highlighted = true
|
highlighted = true
|
||||||
if "handle_hover" in owner:
|
if "handle_hover" in owner:
|
||||||
owner.handle_hover(self)
|
owner.handle_hover(self)
|
||||||
|
|
@ -79,6 +81,7 @@ func _on_mouse_exited():
|
||||||
highlighted = false
|
highlighted = false
|
||||||
|
|
||||||
func _on_input_event(viewport, event, shape_idx):
|
func _on_input_event(viewport, event, shape_idx):
|
||||||
|
if on_stage:
|
||||||
if event is InputEventMouseMotion:
|
if event is InputEventMouseMotion:
|
||||||
_move_post_it()
|
_move_post_it()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1491,7 +1491,6 @@ libraries = {
|
||||||
|
|
||||||
[node name="card" parent="cards/card_1" instance=ExtResource("2_dqebt")]
|
[node name="card" parent="cards/card_1" instance=ExtResource("2_dqebt")]
|
||||||
text = "Slot 1"
|
text = "Slot 1"
|
||||||
metadata/type = "card"
|
|
||||||
|
|
||||||
[node name="card_2" type="Control" parent="cards"]
|
[node name="card_2" type="Control" parent="cards"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
@ -1504,7 +1503,6 @@ libraries = {
|
||||||
|
|
||||||
[node name="card" parent="cards/card_2" instance=ExtResource("2_dqebt")]
|
[node name="card" parent="cards/card_2" instance=ExtResource("2_dqebt")]
|
||||||
text = "Slot 2"
|
text = "Slot 2"
|
||||||
metadata/type = "card"
|
|
||||||
|
|
||||||
[node name="card_3" type="Control" parent="cards"]
|
[node name="card_3" type="Control" parent="cards"]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
@ -1522,7 +1520,6 @@ libraries = {
|
||||||
|
|
||||||
[node name="card" parent="cards/card_3" instance=ExtResource("2_dqebt")]
|
[node name="card" parent="cards/card_3" instance=ExtResource("2_dqebt")]
|
||||||
text = "Slot 3"
|
text = "Slot 3"
|
||||||
metadata/type = "card"
|
|
||||||
|
|
||||||
[node name="postIts" type="Panel" parent="."]
|
[node name="postIts" type="Panel" parent="."]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@
|
||||||
extends CenterContainer
|
extends CenterContainer
|
||||||
class_name Collectable_Ui
|
class_name Collectable_Ui
|
||||||
|
|
||||||
|
@export var scene = Scenes.id
|
||||||
|
|
||||||
@export var collapsed = true:
|
@export var collapsed = true:
|
||||||
set(collapse):
|
set(collapse):
|
||||||
if is_inside_tree() and not Engine.is_editor_hint():
|
if is_inside_tree() and not Engine.is_editor_hint():
|
||||||
|
|
@ -17,6 +19,8 @@ class_name Collectable_Ui
|
||||||
_show_buttons()
|
_show_buttons()
|
||||||
collapsed = collapse
|
collapsed = collapse
|
||||||
|
|
||||||
|
if collapse and has_stage: State.leave_stage(self)
|
||||||
|
|
||||||
@export var is_story: bool = false
|
@export var is_story: bool = false
|
||||||
@export var has_stage: bool = false:
|
@export var has_stage: bool = false:
|
||||||
set(focused):
|
set(focused):
|
||||||
|
|
@ -36,9 +40,6 @@ class_name Collectable_Ui
|
||||||
elif has_stage:
|
elif has_stage:
|
||||||
has_stage = false
|
has_stage = false
|
||||||
get_viewport().gui_release_focus()
|
get_viewport().gui_release_focus()
|
||||||
#hide()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@export var collected: bool = false:
|
@export var collected: bool = false:
|
||||||
set(set_collected):
|
set(set_collected):
|
||||||
|
|
@ -100,8 +101,10 @@ func hide():
|
||||||
_hide_buttons()
|
_hide_buttons()
|
||||||
await tween.finished
|
await tween.finished
|
||||||
visible = false
|
visible = false
|
||||||
|
if has_stage: State.leave_stage(self)
|
||||||
|
|
||||||
func show():
|
func show():
|
||||||
|
if !visible:
|
||||||
if not collapsed:
|
if not collapsed:
|
||||||
_show_buttons()
|
_show_buttons()
|
||||||
modulate = Color()
|
modulate = Color()
|
||||||
|
|
@ -110,12 +113,14 @@ func show():
|
||||||
tween.tween_property(self, "modulate", Color(1, 1, 1), 0.4)
|
tween.tween_property(self, "modulate", Color(1, 1, 1), 0.4)
|
||||||
|
|
||||||
func _yoink_focus():
|
func _yoink_focus():
|
||||||
return # fixme
|
|
||||||
if not has_stage:
|
if not has_stage:
|
||||||
State.take_stage(self, true)
|
State.transition_stage_to(self)
|
||||||
|
|
||||||
func _on_pick_button_pressed():
|
func _on_pick_button_pressed():
|
||||||
hide()
|
|
||||||
print("card collected!")
|
print("card collected!")
|
||||||
emit_signal("card_collected")
|
if scene != null:
|
||||||
|
get_tree().call_group("animation_player", "play_scene", scene)
|
||||||
State.leave_stage(self)
|
State.leave_stage(self)
|
||||||
|
|
||||||
|
func _on_pick_button_released():
|
||||||
|
hide()
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,7 @@ grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
theme = ExtResource("1_2apkb")
|
theme = ExtResource("1_2apkb")
|
||||||
script = ExtResource("1_tgjc2")
|
script = ExtResource("1_tgjc2")
|
||||||
|
scene = null
|
||||||
|
|
||||||
[node name="Panel" type="PanelContainer" parent="."]
|
[node name="Panel" type="PanelContainer" parent="."]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
|
@ -170,6 +171,7 @@ libraries = {
|
||||||
}
|
}
|
||||||
|
|
||||||
[connection signal="resized" from="Panel/Content/Buttons/VBoxContainer" to="Panel/Content/Buttons" method="_on_v_box_container_resized"]
|
[connection signal="resized" from="Panel/Content/Buttons/VBoxContainer" to="Panel/Content/Buttons" method="_on_v_box_container_resized"]
|
||||||
|
[connection signal="button_up" from="Panel/Content/Buttons/VBoxContainer/collect_or_listen" to="." method="_on_pick_button_released"]
|
||||||
[connection signal="focus_entered" from="Panel/Content/Buttons/VBoxContainer/collect_or_listen" to="." method="_yoink_focus"]
|
[connection signal="focus_entered" from="Panel/Content/Buttons/VBoxContainer/collect_or_listen" to="." method="_yoink_focus"]
|
||||||
[connection signal="pressed" from="Panel/Content/Buttons/VBoxContainer/collect_or_listen" to="." method="_on_pick_button_pressed"]
|
[connection signal="pressed" from="Panel/Content/Buttons/VBoxContainer/collect_or_listen" to="." method="_on_pick_button_pressed"]
|
||||||
[connection signal="focus_entered" from="Panel/Content/Buttons/VBoxContainer/Summary" to="." method="_yoink_focus"]
|
[connection signal="focus_entered" from="Panel/Content/Buttons/VBoxContainer/Summary" to="." method="_yoink_focus"]
|
||||||
|
|
|
||||||
|
|
@ -65,6 +65,9 @@ signal ui_exited
|
||||||
func _ready():
|
func _ready():
|
||||||
_handle_jitter(0)
|
_handle_jitter(0)
|
||||||
|
|
||||||
|
func _on_ini_room():
|
||||||
|
State.take_stage(self)
|
||||||
|
|
||||||
func _process(_delta):
|
func _process(_delta):
|
||||||
|
|
||||||
if focus_ray.get_collider() != null:
|
if focus_ray.get_collider() != null:
|
||||||
|
|
@ -148,14 +151,16 @@ func _input(event:InputEvent):
|
||||||
if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
|
if event is InputEventMouseMotion and Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
|
||||||
_handle_mouse_input(event)
|
_handle_mouse_input(event)
|
||||||
get_viewport().set_input_as_handled()
|
get_viewport().set_input_as_handled()
|
||||||
if event is InputEventMouseButton and has_entered:
|
if event is InputEventMouseButton and event.pressed:
|
||||||
State.free_focus()
|
State.free_focus()
|
||||||
get_viewport().set_input_as_handled()
|
get_tree().call_group("interactables", "reveal")
|
||||||
#if event.is_action_pressed("ui_accept"):
|
#if event.is_action_pressed("ui_accept"):
|
||||||
# State.pass_stage_to(focus_ray.get_collider())
|
# State.pass_stage_to(focus_ray.get_collider())
|
||||||
# get_viewport().set_input_as_handled()
|
# get_viewport().set_input_as_handled()
|
||||||
|
else:
|
||||||
func _on_empty_click():
|
if event is InputEventMouseButton:
|
||||||
|
if event.button_index == MOUSE_BUTTON_RIGHT and event.pressed:
|
||||||
|
if !Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT):
|
||||||
State.take_stage(self, true)
|
State.take_stage(self, true)
|
||||||
|
|
||||||
func _on_bed_enter(_body):
|
func _on_bed_enter(_body):
|
||||||
|
|
@ -175,5 +180,3 @@ func _on_bed_exit(_body):
|
||||||
on_crouch_cooldown = true
|
on_crouch_cooldown = true
|
||||||
await get_tree().create_timer(1.0).timeout
|
await get_tree().create_timer(1.0).timeout
|
||||||
on_crouch_cooldown = false
|
on_crouch_cooldown = false
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,10 @@
|
||||||
[gd_scene load_steps=11 format=3 uid="uid://mkccbig41bqb"]
|
[gd_scene load_steps=8 format=3 uid="uid://mkccbig41bqb"]
|
||||||
|
|
||||||
[ext_resource type="Script" path="res://logic-scenes/player_controller/player_controller.gd" id="1_0b4mi"]
|
[ext_resource type="Script" path="res://logic-scenes/player_controller/player_controller.gd" id="1_0b4mi"]
|
||||||
[ext_resource type="ArrayMesh" uid="uid://bfc3d4g40n0wy" path="res://logic-scenes/collectable/import/old-mask.res" id="2_vnej0"]
|
|
||||||
|
|
||||||
[sub_resource type="PhysicsMaterial" id="10"]
|
[sub_resource type="PhysicsMaterial" id="10"]
|
||||||
friction = 0.0
|
friction = 0.0
|
||||||
|
|
||||||
[sub_resource type="GDScript" id="GDScript_r0b38"]
|
|
||||||
script/source = "extends MeshInstance3D
|
|
||||||
|
|
||||||
func _process(delta):
|
|
||||||
rotate_y(delta/3)
|
|
||||||
"
|
|
||||||
|
|
||||||
[sub_resource type="SphereShape3D" id="8"]
|
[sub_resource type="SphereShape3D" id="8"]
|
||||||
radius = 0.307047
|
radius = 0.307047
|
||||||
|
|
||||||
|
|
@ -42,114 +34,6 @@ tracks/1/keys = {
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [Vector3(0, 0, 0)]
|
"values": [Vector3(0, 0, 0)]
|
||||||
}
|
}
|
||||||
tracks/2/type = "value"
|
|
||||||
tracks/2/imported = false
|
|
||||||
tracks/2/enabled = true
|
|
||||||
tracks/2/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount/old_mask2:rotation")
|
|
||||||
tracks/2/interp = 1
|
|
||||||
tracks/2/loop_wrap = true
|
|
||||||
tracks/2/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(5.96046e-08, 1.74846e-07, -7.10543e-15)]
|
|
||||||
}
|
|
||||||
tracks/3/type = "value"
|
|
||||||
tracks/3/imported = false
|
|
||||||
tracks/3/enabled = true
|
|
||||||
tracks/3/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount:position")
|
|
||||||
tracks/3/interp = 1
|
|
||||||
tracks/3/loop_wrap = true
|
|
||||||
tracks/3/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(0.11067, -0.0251684, -0.309266)]
|
|
||||||
}
|
|
||||||
tracks/4/type = "value"
|
|
||||||
tracks/4/imported = false
|
|
||||||
tracks/4/enabled = true
|
|
||||||
tracks/4/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount:rotation")
|
|
||||||
tracks/4/interp = 1
|
|
||||||
tracks/4/loop_wrap = true
|
|
||||||
tracks/4/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(1.49012e-07, 0, 0)]
|
|
||||||
}
|
|
||||||
tracks/5/type = "value"
|
|
||||||
tracks/5/imported = false
|
|
||||||
tracks/5/enabled = true
|
|
||||||
tracks/5/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D:light_energy")
|
|
||||||
tracks/5/interp = 1
|
|
||||||
tracks/5/loop_wrap = true
|
|
||||||
tracks/5/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [0.4]
|
|
||||||
}
|
|
||||||
tracks/6/type = "value"
|
|
||||||
tracks/6/imported = false
|
|
||||||
tracks/6/enabled = true
|
|
||||||
tracks/6/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D2:light_energy")
|
|
||||||
tracks/6/interp = 1
|
|
||||||
tracks/6/loop_wrap = true
|
|
||||||
tracks/6/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [1.5]
|
|
||||||
}
|
|
||||||
tracks/7/type = "value"
|
|
||||||
tracks/7/imported = false
|
|
||||||
tracks/7/enabled = true
|
|
||||||
tracks/7/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D:visible")
|
|
||||||
tracks/7/interp = 1
|
|
||||||
tracks/7/loop_wrap = true
|
|
||||||
tracks/7/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
tracks/8/type = "value"
|
|
||||||
tracks/8/imported = false
|
|
||||||
tracks/8/enabled = true
|
|
||||||
tracks/8/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D2:layers")
|
|
||||||
tracks/8/interp = 1
|
|
||||||
tracks/8/loop_wrap = true
|
|
||||||
tracks/8/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [1]
|
|
||||||
}
|
|
||||||
tracks/9/type = "value"
|
|
||||||
tracks/9/imported = false
|
|
||||||
tracks/9/enabled = true
|
|
||||||
tracks/9/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D2:visible")
|
|
||||||
tracks/9/interp = 1
|
|
||||||
tracks/9/loop_wrap = true
|
|
||||||
tracks/9/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
tracks/10/type = "value"
|
|
||||||
tracks/10/imported = false
|
|
||||||
tracks/10/enabled = true
|
|
||||||
tracks/10/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount/old_mask2:visible")
|
|
||||||
tracks/10/interp = 1
|
|
||||||
tracks/10/loop_wrap = true
|
|
||||||
tracks/10/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="12"]
|
[sub_resource type="Animation" id="12"]
|
||||||
resource_name = "crouch"
|
resource_name = "crouch"
|
||||||
|
|
@ -179,106 +63,6 @@ tracks/1/keys = {
|
||||||
"values": [Vector3(0, 0, 0), Vector3(-30, 0, -10), Vector3(-20, 0, 3), Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
"values": [Vector3(0, 0, 0), Vector3(-30, 0, -10), Vector3(-20, 0, 3), Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
||||||
}
|
}
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_5o0sk"]
|
|
||||||
resource_name = "mask_reveal"
|
|
||||||
length = 3.0
|
|
||||||
tracks/0/type = "value"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount:position")
|
|
||||||
tracks/0/interp = 2
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 3),
|
|
||||||
"transitions": PackedFloat32Array(0.366021, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(0.376781, -0.521269, -0.513588), Vector3(0.18, -0.025, -0.309)]
|
|
||||||
}
|
|
||||||
tracks/1/type = "value"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount:rotation")
|
|
||||||
tracks/1/interp = 2
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 3),
|
|
||||||
"transitions": PackedFloat32Array(1, 0.378929),
|
|
||||||
"update": 0,
|
|
||||||
"values": [Vector3(0, -0.698132, 0), Vector3(1.49012e-07, 0, 0)]
|
|
||||||
}
|
|
||||||
tracks/2/type = "value"
|
|
||||||
tracks/2/imported = false
|
|
||||||
tracks/2/enabled = true
|
|
||||||
tracks/2/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D:light_energy")
|
|
||||||
tracks/2/interp = 1
|
|
||||||
tracks/2/loop_wrap = true
|
|
||||||
tracks/2/keys = {
|
|
||||||
"times": PackedFloat32Array(0.8, 3),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [0.0, 0.4]
|
|
||||||
}
|
|
||||||
tracks/3/type = "value"
|
|
||||||
tracks/3/imported = false
|
|
||||||
tracks/3/enabled = true
|
|
||||||
tracks/3/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D2:light_energy")
|
|
||||||
tracks/3/interp = 1
|
|
||||||
tracks/3/loop_wrap = true
|
|
||||||
tracks/3/keys = {
|
|
||||||
"times": PackedFloat32Array(0.2, 3),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 0,
|
|
||||||
"values": [0.0, 1.5]
|
|
||||||
}
|
|
||||||
tracks/4/type = "value"
|
|
||||||
tracks/4/imported = false
|
|
||||||
tracks/4/enabled = true
|
|
||||||
tracks/4/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D:visible")
|
|
||||||
tracks/4/interp = 1
|
|
||||||
tracks/4/loop_wrap = true
|
|
||||||
tracks/4/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.1),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false, true]
|
|
||||||
}
|
|
||||||
tracks/5/type = "value"
|
|
||||||
tracks/5/imported = false
|
|
||||||
tracks/5/enabled = true
|
|
||||||
tracks/5/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D2:layers")
|
|
||||||
tracks/5/interp = 1
|
|
||||||
tracks/5/loop_wrap = true
|
|
||||||
tracks/5/keys = {
|
|
||||||
"times": PackedFloat32Array(0),
|
|
||||||
"transitions": PackedFloat32Array(1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [1]
|
|
||||||
}
|
|
||||||
tracks/6/type = "value"
|
|
||||||
tracks/6/imported = false
|
|
||||||
tracks/6/enabled = true
|
|
||||||
tracks/6/path = NodePath("Yaw/Pitch/Mount/Camera3D/SpotLight3D2:visible")
|
|
||||||
tracks/6/interp = 1
|
|
||||||
tracks/6/loop_wrap = true
|
|
||||||
tracks/6/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.1),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false, true]
|
|
||||||
}
|
|
||||||
tracks/7/type = "value"
|
|
||||||
tracks/7/imported = false
|
|
||||||
tracks/7/enabled = true
|
|
||||||
tracks/7/path = NodePath("Yaw/Pitch/Mount/Camera3D/memory mount/old_mask2:visible")
|
|
||||||
tracks/7/interp = 1
|
|
||||||
tracks/7/loop_wrap = true
|
|
||||||
tracks/7/keys = {
|
|
||||||
"times": PackedFloat32Array(0, 0.1),
|
|
||||||
"transitions": PackedFloat32Array(1, 1),
|
|
||||||
"update": 1,
|
|
||||||
"values": [false, true]
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="14"]
|
[sub_resource type="Animation" id="14"]
|
||||||
resource_name = "stand_up"
|
resource_name = "stand_up"
|
||||||
length = 3.0
|
length = 3.0
|
||||||
|
|
@ -289,10 +73,10 @@ tracks/0/path = NodePath("Yaw:position")
|
||||||
tracks/0/interp = 2
|
tracks/0/interp = 2
|
||||||
tracks/0/loop_wrap = true
|
tracks/0/loop_wrap = true
|
||||||
tracks/0/keys = {
|
tracks/0/keys = {
|
||||||
"times": PackedFloat32Array(0, 0.9, 1.7, 3),
|
"times": PackedFloat32Array(0, 0.9, 1.8, 3),
|
||||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||||
"update": 0,
|
"update": 0,
|
||||||
"values": [Vector3(0, 0.327816, 0), Vector3(0, 0.331, 0), Vector3(0, 1.3, 0), Vector3(0, 1.22534, 0)]
|
"values": [Vector3(0, 0.327816, 0), Vector3(0, 0.331, 0), Vector3(0, 1, 0), Vector3(0, 1.22534, 0)]
|
||||||
}
|
}
|
||||||
tracks/1/type = "value"
|
tracks/1/type = "value"
|
||||||
tracks/1/imported = false
|
tracks/1/imported = false
|
||||||
|
|
@ -311,7 +95,6 @@ tracks/1/keys = {
|
||||||
_data = {
|
_data = {
|
||||||
"RESET": SubResource("11"),
|
"RESET": SubResource("11"),
|
||||||
"crouch": SubResource("12"),
|
"crouch": SubResource("12"),
|
||||||
"mask_reveal": SubResource("Animation_5o0sk"),
|
|
||||||
"stand_up": SubResource("14")
|
"stand_up": SubResource("14")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -343,44 +126,6 @@ collision_mask = 17
|
||||||
collide_with_areas = true
|
collide_with_areas = true
|
||||||
collide_with_bodies = false
|
collide_with_bodies = false
|
||||||
|
|
||||||
[node name="memory mount" type="Node3D" parent="Yaw/Pitch/Mount/Camera3D"]
|
|
||||||
transform = Transform3D(0.8, 0, 0, 0, 0.8, -7.15258e-08, 0, 1.1921e-07, 0.48, 0.11067, -0.0251684, -0.309266)
|
|
||||||
|
|
||||||
[node name="old_mask2" type="MeshInstance3D" parent="Yaw/Pitch/Mount/Camera3D/memory mount"]
|
|
||||||
transform = Transform3D(1, 1.75271e-14, 1.74846e-07, -7.10543e-15, 1, -5.96046e-08, -1.74846e-07, 5.96046e-08, 1, 0.0250661, 0, 0)
|
|
||||||
visible = false
|
|
||||||
mesh = ExtResource("2_vnej0")
|
|
||||||
skeleton = NodePath("")
|
|
||||||
script = SubResource("GDScript_r0b38")
|
|
||||||
|
|
||||||
[node name="OmniLight3D" type="OmniLight3D" parent="Yaw/Pitch/Mount/Camera3D/memory mount/old_mask2"]
|
|
||||||
transform = Transform3D(1, -3.8743e-07, 5.96046e-08, 3.57628e-07, 1, 8.9407e-08, -5.96046e-08, -8.9407e-08, 1, 0.083235, -0.219628, 0.176047)
|
|
||||||
light_color = Color(0.972549, 0.752941, 0.592157, 1)
|
|
||||||
light_energy = 0.1
|
|
||||||
light_specular = 0.0
|
|
||||||
omni_range = 0.457129
|
|
||||||
omni_attenuation = 0.659754
|
|
||||||
|
|
||||||
[node name="SpotLight3D" type="SpotLight3D" parent="Yaw/Pitch/Mount/Camera3D"]
|
|
||||||
transform = Transform3D(0.584488, 0.621177, -0.522028, 0.363951, 0.374307, 0.852897, 0.725199, -0.688501, -0.00729993, 0.0601956, 0.21754, -0.271749)
|
|
||||||
visible = false
|
|
||||||
light_color = Color(0.97599, 0.669299, 0.509314, 1)
|
|
||||||
light_energy = 0.4
|
|
||||||
light_size = 0.1
|
|
||||||
shadow_enabled = true
|
|
||||||
spot_range = 0.394683
|
|
||||||
spot_angle = 27.7927
|
|
||||||
|
|
||||||
[node name="SpotLight3D2" type="SpotLight3D" parent="Yaw/Pitch/Mount/Camera3D"]
|
|
||||||
transform = Transform3D(0.456583, 0.0747244, 0.886537, 0.819566, -0.423063, -0.386432, 0.346185, 0.903014, -0.254405, 0.475638, -0.147216, -0.329875)
|
|
||||||
visible = false
|
|
||||||
light_color = Color(0.317647, 0.427451, 1, 1)
|
|
||||||
light_energy = 1.5
|
|
||||||
light_size = 0.1
|
|
||||||
shadow_enabled = true
|
|
||||||
spot_range = 0.624277
|
|
||||||
spot_angle = 22.1657
|
|
||||||
|
|
||||||
[node name="PlayerCollision" type="CollisionShape3D" parent="."]
|
[node name="PlayerCollision" type="CollisionShape3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.322255, 0)
|
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.322255, 0)
|
||||||
shape = SubResource("8")
|
shape = SubResource("8")
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ config/icon="res://icon.png"
|
||||||
[autoload]
|
[autoload]
|
||||||
|
|
||||||
State="*res://singletons/global_state.gd"
|
State="*res://singletons/global_state.gd"
|
||||||
|
Scenes="*res://singletons/scene_reference.gd"
|
||||||
|
|
||||||
[debug]
|
[debug]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ func take_stage(actor: Object, reclaim: bool = false) -> bool:
|
||||||
if stage_list.has(actor):
|
if stage_list.has(actor):
|
||||||
while stage_list.pop_front() != actor: break
|
while stage_list.pop_front() != actor: break
|
||||||
actor.has_stage = true
|
actor.has_stage = true
|
||||||
|
stage_list.push_front(actor)
|
||||||
return actor.has_stage
|
return actor.has_stage
|
||||||
push_warning(actor, " wanted to reclaim focus, but was not on list.")
|
push_warning(actor, " wanted to reclaim focus, but was not on list.")
|
||||||
return pass_stage_to(actor)
|
return pass_stage_to(actor)
|
||||||
|
|
@ -58,10 +59,11 @@ func pass_stage_to(target:Object) -> bool:
|
||||||
push_error("Focus instance not valid")
|
push_error("Focus instance not valid")
|
||||||
elif !"has_stage" in target:
|
elif !"has_stage" in target:
|
||||||
push_error(target, " has no has focus method.")
|
push_error(target, " has no has focus method.")
|
||||||
|
else:
|
||||||
if stage_list.size() > 0:
|
if stage_list.size() > 0:
|
||||||
if stage_list.front() == target:
|
if stage_list.front() == target:
|
||||||
push_warning(target, " is already target. Abort passing focus.")
|
push_warning(target, " is already target. Abort passing focus.")
|
||||||
else:
|
return false
|
||||||
if not stage_list.size() == 0: stage_list.front().has_stage = false
|
if not stage_list.size() == 0: stage_list.front().has_stage = false
|
||||||
target.has_stage = true
|
target.has_stage = true
|
||||||
if target.has_stage:
|
if target.has_stage:
|
||||||
|
|
@ -72,7 +74,13 @@ func pass_stage_to(target:Object) -> bool:
|
||||||
|
|
||||||
# Currently focused element loses focus, but remains in stack.
|
# Currently focused element loses focus, but remains in stack.
|
||||||
func free_focus():
|
func free_focus():
|
||||||
if not stage_list.front() == null: stage_list.front().has_stage = false
|
if stage_list.size() > 0: stage_list.front().has_stage = false
|
||||||
|
|
||||||
func queue_for_stage(target: Object, index: int):
|
func transition_stage_to(thief: Object):
|
||||||
|
if stage_list.size() > 0:
|
||||||
|
if stage_list.front().has_stage:
|
||||||
|
stage_list.pop_front().has_stage = false
|
||||||
|
return pass_stage_to(thief)
|
||||||
|
|
||||||
|
func queue_for_stage(target: Object, index: int = 1):
|
||||||
stage_list.insert(index, target)
|
stage_list.insert(index, target)
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
enum {
|
enum id {
|
||||||
YOUTH_CHILDHOOD,
|
YOUTH_CHILDHOOD,
|
||||||
YOUTH_THEATRE,
|
YOUTH_VOICE_TRAINING,
|
||||||
YOUTH_JUI_JUTSU,
|
YOUTH_JUI_JUTSU,
|
||||||
ADULT_DND,
|
ADULT_DND,
|
||||||
ADULD_VOLUNTARY,
|
ADULD_VOLUNTARY,
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ gradient = SubResource("Gradient_c8r4y")
|
||||||
|
|
||||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_eegys"]
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_eegys"]
|
||||||
emission_shape = 1
|
emission_shape = 1
|
||||||
emission_sphere_radius = 0.3
|
emission_sphere_radius = 0.2
|
||||||
spread = 180.0
|
spread = 180.0
|
||||||
gravity = Vector3(0, 0.02, 0)
|
gravity = Vector3(0, 0.02, 0)
|
||||||
initial_velocity_max = 0.2
|
initial_velocity_max = 0.2
|
||||||
|
|
@ -37,7 +37,7 @@ turbulence_noise_scale = 2.0
|
||||||
turbulence_noise_speed = Vector3(0.1, 0.3, 0.5)
|
turbulence_noise_speed = Vector3(0.1, 0.3, 0.5)
|
||||||
turbulence_noise_speed_random = 0.3
|
turbulence_noise_speed_random = 0.3
|
||||||
turbulence_influence_min = 0.01
|
turbulence_influence_min = 0.01
|
||||||
turbulence_influence_max = 0.03
|
turbulence_influence_max = 0.02
|
||||||
turbulence_initial_displacement_max = 1.0
|
turbulence_initial_displacement_max = 1.0
|
||||||
|
|
||||||
[sub_resource type="Shader" id="Shader_p2314"]
|
[sub_resource type="Shader" id="Shader_p2314"]
|
||||||
|
|
@ -127,12 +127,13 @@ shader_parameter/texture_backlight = ExtResource("2_h5y3k")
|
||||||
|
|
||||||
[sub_resource type="QuadMesh" id="QuadMesh_ea2fp"]
|
[sub_resource type="QuadMesh" id="QuadMesh_ea2fp"]
|
||||||
material = SubResource("ShaderMaterial_fgrmi")
|
material = SubResource("ShaderMaterial_fgrmi")
|
||||||
size = Vector2(0.1, 0.1)
|
size = Vector2(0.06, 0.06)
|
||||||
|
|
||||||
[node name="collectable_particles" type="GPUParticles3D"]
|
[node name="collectable_particles" type="GPUParticles3D"]
|
||||||
material_override = SubResource("ShaderMaterial_lpenh")
|
material_override = SubResource("ShaderMaterial_lpenh")
|
||||||
cast_shadow = 0
|
cast_shadow = 0
|
||||||
amount = 50
|
amount = 50
|
||||||
lifetime = 10.0
|
lifetime = 10.0
|
||||||
|
speed_scale = 0.5
|
||||||
process_material = SubResource("ParticleProcessMaterial_eegys")
|
process_material = SubResource("ParticleProcessMaterial_eegys")
|
||||||
draw_pass_1 = SubResource("QuadMesh_ea2fp")
|
draw_pass_1 = SubResource("QuadMesh_ea2fp")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue