Dev de la démo
* Modification de l'apparence de l'UI des dialogues * Changement de l'ordre de déblocage des mutations * Ajout d'une confirmation pour l'abandon * Ajout de la scène de fin avec la base Boréa, en tant que fin de démo * Modification des icône de durée de vie, temps de pousse, et de mort * Ajout d'un icône au dessus du joueur quand il n'a plus d'énergie * Amélioration des dialogues du jeu * Changement du modèle du téléphone * Ajout de cellule d'énergie et de cellule de talion trouvable sur la carte * Il est à nouveau possible de se recharger après la fin d'une région * Buff des mutations ancien sociale et solide * Modification de la mutation fertile (ne donne de gain de graine qu'à la maturation) * Ajout d'une récupération automatique des graines * Ajout de deux cartons de tutoriel ainsi qu'une option pour les revoir dans l'aide de jeu * Amélioration générale du tutoriel * Ajout d'un écran titre digne de ce nom * Lors de l'arrivée à destination, ne téléporte plus le joueur sur une map vide, mais directement dans les lieux de cinématique * Ajout graphique de plus de pattern de mousse et de roche * Le talion apparait maintenant sur toute la carte * La roche peut désormais apparaitre sur la zone de départ * Ajout dud modificateur de région Canyon * Equilibrage général * Fix de bugs en tout genre
This commit is contained in:
89
entities/interactable_3d/ai_receptacle/ai_receptacle.tscn
Normal file
89
entities/interactable_3d/ai_receptacle/ai_receptacle.tscn
Normal file
@@ -0,0 +1,89 @@
|
||||
[gd_scene format=3 uid="uid://c2unmkf4ec4gf"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ds8qj6h3nerkt" path="res://entities/interactable_3d/ai_receptacle/scripts/ai_receptacle.gd" id="1_f5pxu"]
|
||||
[ext_resource type="Texture2D" uid="uid://dg00xnpp6ixls" path="res://common/icons/server-2.svg" id="2_f5pxu"]
|
||||
[ext_resource type="PackedScene" uid="uid://b50g4ufp0ul5x" path="res://entities/interactable_3d/ai_receptacle/assets/3d/ai_receptacle.blend" id="2_hstrx"]
|
||||
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="3_ocu3y"]
|
||||
[ext_resource type="PackedScene" uid="uid://dssuk68nfqq1y" path="res://entities/interactable_3d/ai_receptacle/assets/3d/ai_receptacle_broken.blend" id="4_drapv"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_f5pxu"]
|
||||
size = Vector3(1.4648438, 1.5727539, 1.1850586)
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_drapv"]
|
||||
viewport_path = NodePath("Screen/SubViewport")
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_s7ckp"]
|
||||
font = ExtResource("3_ocu3y")
|
||||
font_size = 30
|
||||
|
||||
[node name="AiReceptacle" type="Area3D" unique_id=1082354698]
|
||||
script = ExtResource("1_f5pxu")
|
||||
screen_icon = ExtResource("2_f5pxu")
|
||||
screen_text = "Hello"
|
||||
screen_turned_on = true
|
||||
metadata/_custom_type_script = "uid://bj4d1x8n8ina"
|
||||
|
||||
[node name="Model" parent="." unique_id=462471051 instance=ExtResource("2_hstrx")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="ModelBroken" parent="." unique_id=1633938801 instance=ExtResource("4_drapv")]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=447695736]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.0038106, 3.0576665)
|
||||
shape = SubResource("BoxShape3D_f5pxu")
|
||||
|
||||
[node name="Screen" type="Sprite3D" parent="." unique_id=1396407912]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.8021926, 0.5970652, 0, -0.5970652, 0.8021926, 0, 0.8748945, 3.3313272)
|
||||
pixel_size = 0.0018
|
||||
texture = SubResource("ViewportTexture_drapv")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="Screen" unique_id=709453654]
|
||||
disable_3d = true
|
||||
transparent_bg = true
|
||||
size = Vector2i(595, 367)
|
||||
|
||||
[node name="TurnedOffBackground" type="ColorRect" parent="Screen/SubViewport" unique_id=65019012]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
color = Color(0.0627451, 0.05882353, 0.16862746, 1)
|
||||
|
||||
[node name="ScreenContent" type="MarginContainer" parent="Screen/SubViewport" unique_id=380698147]
|
||||
unique_name_in_owner = true
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_constants/margin_left = 16
|
||||
theme_override_constants/margin_top = 16
|
||||
theme_override_constants/margin_right = 16
|
||||
theme_override_constants/margin_bottom = 16
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="Screen/SubViewport/ScreenContent" unique_id=1893636910]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 4
|
||||
alignment = 1
|
||||
|
||||
[node name="ScreenIcon" type="TextureRect" parent="Screen/SubViewport/ScreenContent/VBoxContainer" unique_id=697782774]
|
||||
unique_name_in_owner = true
|
||||
custom_minimum_size = Vector2(100, 100)
|
||||
layout_mode = 2
|
||||
texture = ExtResource("2_f5pxu")
|
||||
expand_mode = 1
|
||||
stretch_mode = 5
|
||||
|
||||
[node name="ScreenTitle" type="Label" parent="Screen/SubViewport/ScreenContent/VBoxContainer" unique_id=443526476]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Hello"
|
||||
label_settings = SubResource("LabelSettings_s7ckp")
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
autowrap_mode = 3
|
||||
Binary file not shown.
@@ -0,0 +1,73 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://b50g4ufp0ul5x"
|
||||
path="res://.godot/imported/ai_receptacle.blend-b318d06849ebd1a83015daf5e59aedc4.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://entities/interactable_3d/ai_receptacle/assets/3d/ai_receptacle.blend"
|
||||
dest_files=["res://.godot/imported/ai_receptacle.blend-b318d06849ebd1a83015daf5e59aedc4.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Default3D": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
|
||||
"use_external/path": "uid://dvvi1k5c5iowc"
|
||||
},
|
||||
"Glass": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/glass_3d.tres",
|
||||
"use_external/path": "uid://b5vlcdry8vtgi"
|
||||
}
|
||||
}
|
||||
}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/gpu_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
gltf/naming_version=2
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,73 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://dssuk68nfqq1y"
|
||||
path="res://.godot/imported/ai_receptacle_broken.blend-ab45bb89545c07a9942287d0298bb2da.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://entities/interactable_3d/ai_receptacle/assets/3d/ai_receptacle_broken.blend"
|
||||
dest_files=["res://.godot/imported/ai_receptacle_broken.blend-ab45bb89545c07a9942287d0298bb2da.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Default3D": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
|
||||
"use_external/path": "uid://dvvi1k5c5iowc"
|
||||
},
|
||||
"Glass": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/fallback_path": "res://common/assets/materials/glass_3d.tres",
|
||||
"use_external/path": "uid://b5vlcdry8vtgi"
|
||||
}
|
||||
}
|
||||
}
|
||||
blender/nodes/visible=0
|
||||
blender/nodes/active_collection_only=false
|
||||
blender/nodes/punctual_lights=true
|
||||
blender/nodes/cameras=true
|
||||
blender/nodes/custom_properties=true
|
||||
blender/nodes/modifiers=1
|
||||
blender/meshes/colors=false
|
||||
blender/meshes/uvs=true
|
||||
blender/meshes/normals=true
|
||||
blender/meshes/export_geometry_nodes_instances=false
|
||||
blender/meshes/gpu_instances=false
|
||||
blender/meshes/tangents=true
|
||||
blender/meshes/skins=2
|
||||
blender/meshes/export_bones_deforming_mesh_only=false
|
||||
blender/materials/unpack_enabled=true
|
||||
blender/materials/export_materials=1
|
||||
blender/animation/limit_playback=true
|
||||
blender/animation/always_sample=true
|
||||
blender/animation/group_tracks=true
|
||||
gltf/naming_version=2
|
||||
Binary file not shown.
@@ -0,0 +1,35 @@
|
||||
|
||||
@tool
|
||||
extends Interactable3D
|
||||
class_name AiReceptacle
|
||||
|
||||
@export var screen_icon : Texture :
|
||||
set(v):
|
||||
screen_icon = v
|
||||
update()
|
||||
@export var screen_text : String :
|
||||
set(v):
|
||||
screen_text = v
|
||||
update()
|
||||
@export var screen_turned_on : bool = false :
|
||||
set(v):
|
||||
screen_turned_on = v
|
||||
update()
|
||||
@export var broken : bool = false :
|
||||
set(v):
|
||||
broken = v
|
||||
update()
|
||||
|
||||
func _ready():
|
||||
update()
|
||||
|
||||
func update():
|
||||
if is_node_ready():
|
||||
%TurnedOffBackground.visible = not screen_turned_on
|
||||
%ScreenContent.visible = screen_turned_on
|
||||
%ScreenIcon.texture = screen_icon
|
||||
%ScreenTitle.text = screen_text
|
||||
%Model.visible = not broken
|
||||
%ModelBroken.visible = broken
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
uid://ds8qj6h3nerkt
|
||||
@@ -181,6 +181,7 @@ _data = {
|
||||
}
|
||||
|
||||
[node name="ArtefactAnnounce" type="CanvasLayer" unique_id=1447182082]
|
||||
layer = 2
|
||||
visible = false
|
||||
script = ExtResource("1_2sroa")
|
||||
|
||||
@@ -190,6 +191,7 @@ anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="BackgroundRect" type="ColorRect" parent="MarginContainer" unique_id=1594037653]
|
||||
layout_mode = 2
|
||||
@@ -207,6 +209,7 @@ offset_right = 500.0
|
||||
offset_bottom = 500.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
texture = SubResource("ViewportTexture_6hxtc")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="Particles" unique_id=1123249182]
|
||||
@@ -235,6 +238,7 @@ offset_top = -627.0
|
||||
offset_bottom = 627.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
theme_override_constants/separation = 4
|
||||
alignment = 1
|
||||
|
||||
|
||||
@@ -75,10 +75,10 @@ visible = false
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.9791151, 0)
|
||||
shape = SubResource("BoxShape3D_nvfy2")
|
||||
|
||||
[node name="MutationAnnounce" parent="." unique_id=1447182082 instance=ExtResource("9_247i2")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="ArtefactAnnounce" parent="." unique_id=114641656 instance=ExtResource("8_3rrt0")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="MutationAnnounce" parent="." unique_id=1447182082 instance=ExtResource("9_247i2")]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[editable path="CristalModelCrack"]
|
||||
|
||||
@@ -183,6 +183,7 @@ _data = {
|
||||
}
|
||||
|
||||
[node name="MutationAnnounce" type="CanvasLayer" unique_id=1447182082]
|
||||
layer = 2
|
||||
visible = false
|
||||
script = ExtResource("1_02o74")
|
||||
|
||||
@@ -192,9 +193,11 @@ anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="BackgroundRect" type="ColorRect" parent="MarginContainer" unique_id=1594037653]
|
||||
layout_mode = 2
|
||||
mouse_filter = 2
|
||||
color = Color(0.0352941, 0.0196078, 0.12549, 0.705882)
|
||||
|
||||
[node name="Particles" type="TextureRect" parent="." unique_id=1748571879]
|
||||
@@ -209,6 +212,7 @@ offset_right = 500.0
|
||||
offset_bottom = 500.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
texture = SubResource("ViewportTexture_6hxtc")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="Particles" unique_id=1123249182]
|
||||
@@ -258,7 +262,6 @@ horizontal_alignment = 1
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
mouse_filter = 0
|
||||
texture = SubResource("ViewportTexture_smt8b")
|
||||
stretch_mode = 5
|
||||
script = ExtResource("5_qu1xy")
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
extends Area3D
|
||||
class_name Interactable3D
|
||||
|
||||
@export var interactable = true
|
||||
@export var inspectable = false
|
||||
@export var interactable := true : set = set_interactable
|
||||
|
||||
@export var inspectable := false
|
||||
|
||||
signal clicked
|
||||
|
||||
@export var hover_animation_player : AnimationPlayer
|
||||
@export var audio_player : AudioStreamPlayer3D
|
||||
|
||||
func _ready():
|
||||
set_interactable()
|
||||
|
||||
func click():
|
||||
if interactable:
|
||||
clicked.emit()
|
||||
@@ -22,7 +26,7 @@ func stop_audio():
|
||||
audio_player.stop()
|
||||
|
||||
func _on_mouse_entered():
|
||||
if hover_animation_player and interactable:
|
||||
if hover_animation_player and interactable and hover_animation_player.has_animation("hover"):
|
||||
hover_animation_player.play("hover")
|
||||
if inspectable:
|
||||
Pointer.inspect(self)
|
||||
@@ -35,3 +39,12 @@ func _on_mouse_exited():
|
||||
|
||||
func card_info() -> CardInfo:
|
||||
return null
|
||||
|
||||
func set_interactable(i := interactable):
|
||||
interactable = i
|
||||
|
||||
if is_node_ready() and hover_animation_player:
|
||||
if i and hover_animation_player.has_animation("activated"):
|
||||
hover_animation_player.play("activated")
|
||||
if not i and hover_animation_player.has_animation("deactivated"):
|
||||
hover_animation_player.play("deactivated")
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -16,7 +16,7 @@ viewport_path = NodePath("Screen/SubViewport")
|
||||
|
||||
[sub_resource type="LabelSettings" id="LabelSettings_cqerb"]
|
||||
font = ExtResource("3_h5gyd")
|
||||
font_size = 30
|
||||
font_size = 20
|
||||
|
||||
[node name="OrchidSaver" type="Area3D" unique_id=381308711]
|
||||
script = ExtResource("1_tiit5")
|
||||
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
BIN
entities/interactable_3d/phone/assets/3d/phone.blend1
Normal file
BIN
entities/interactable_3d/phone/assets/3d/phone.blend1
Normal file
Binary file not shown.
@@ -1,13 +1,22 @@
|
||||
[gd_scene format=3 uid="uid://csx7d5khjd6y5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bj4d1x8n8ina" path="res://entities/interactable_3d/interactable_3d.gd" id="1_2si4a"]
|
||||
[ext_resource type="Script" uid="uid://chedhuxpxro4k" path="res://entities/interactable_3d/phone/scripts/phone.gd" id="1_2si4a"]
|
||||
[ext_resource type="AudioStream" uid="uid://ocm1dkkhv7ls" path="res://common/audio_manager/assets/sfx/phone/phone_ringing.wav" id="2_w00q2"]
|
||||
[ext_resource type="PackedScene" uid="uid://5dytwh4wydcg" path="res://entities/interactable_3d/phone/assets/3d/phone.blend" id="3_lp5jo"]
|
||||
[ext_resource type="Texture2D" uid="uid://dks6cugwif2em" path="res://common/icons/phone.svg" id="4_gtuax"]
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_mwti2"]
|
||||
radius = 0.9633789
|
||||
height = 2.4316406
|
||||
radius = 0.87646484
|
||||
height = 2.0859375
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_w00q2"]
|
||||
offsets = PackedFloat32Array(0.020833334, 1)
|
||||
colors = PackedColorArray(0.0627451, 0.05882353, 0.16862746, 1, 0.0627451, 0.05882353, 0.16862746, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_lp5jo"]
|
||||
gradient = SubResource("Gradient_w00q2")
|
||||
width = 139
|
||||
height = 96
|
||||
|
||||
[sub_resource type="Animation" id="Animation_v4tdl"]
|
||||
length = 0.001
|
||||
@@ -23,6 +32,86 @@ tracks/0/keys = {
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 1, 1)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Model/Sprite3D:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Model/OffScreenBackground:visible")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_gtuax"]
|
||||
resource_name = "activated"
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Model/Sprite3D:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Model/OffScreenBackground:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_euiu0"]
|
||||
resource_name = "deactivated"
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Model/Sprite3D:visible")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0.033333335),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Model/OffScreenBackground:visible")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_lkqnn"]
|
||||
resource_name = "hover"
|
||||
@@ -43,36 +132,95 @@ tracks/0/keys = {
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_xa016"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_v4tdl"),
|
||||
&"activated": SubResource("Animation_gtuax"),
|
||||
&"deactivated": SubResource("Animation_euiu0"),
|
||||
&"hover": SubResource("Animation_lkqnn")
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_1kswv"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Model:rotation:z")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_ckx3x"]
|
||||
resource_name = "ring"
|
||||
length = 1.95
|
||||
loop_mode = 1
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Model:rotation:z")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 0.2, 0.3, 0.4, 0.5, 0.6, 0.70000005, 0.8000001, 1, 1.1, 1.2, 1.3, 1.4, 1.5000001, 1.6),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||
"update": 1,
|
||||
"values": [0.0, -0.03, 0.03, -0.03, 0.03, -0.03, 0.03, 0.0, -0.03, 0.03, -0.03, 0.03, -0.03, 0.03, 0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_bc3p2"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_1kswv"),
|
||||
&"ring": SubResource("Animation_ckx3x")
|
||||
}
|
||||
|
||||
[node name="Phone" type="Area3D" unique_id=429299908 node_paths=PackedStringArray("hover_animation_player", "audio_player")]
|
||||
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 0)
|
||||
transform = Transform3D(-1, 0, -1.509958e-07, 0, 1, 0, 1.509958e-07, 0, -1, 0, 0, 0)
|
||||
script = ExtResource("1_2si4a")
|
||||
hover_animation_player = NodePath("HoverAnimationPlayer")
|
||||
audio_player = NodePath("AudioStreamPlayer3D")
|
||||
metadata/_custom_type_script = "uid://bj4d1x8n8ina"
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=660671507]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.21582031, 0)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5439453, 0)
|
||||
shape = SubResource("CapsuleShape3D_mwti2")
|
||||
|
||||
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="." unique_id=73991663]
|
||||
stream = ExtResource("2_w00q2")
|
||||
bus = &"Sfx"
|
||||
|
||||
[node name="Model" parent="." unique_id=178278867 instance=ExtResource("3_lp5jo")]
|
||||
[node name="Model" parent="." unique_id=1951271790 instance=ExtResource("3_lp5jo")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.000101934645, 0)
|
||||
|
||||
[node name="PhoneSignal" parent="Model" index="1" unique_id=2035875887]
|
||||
transform = Transform3D(0.99678284, 0, -0.080149435, 0, 1, 0, 0.080149435, 0, 0.99678284, -0.27000237, 1.5518044, -0.16334502)
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Model" unique_id=2025147118]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.1913681, 0.3055997, -0.095009446)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.023056125, 0.6826539, -0.33169416)
|
||||
visible = false
|
||||
pixel_size = 0.005
|
||||
texture = ExtResource("4_gtuax")
|
||||
|
||||
[node name="OffScreenBackground" type="Sprite3D" parent="Model" unique_id=802126508]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.023056127, 0.6826539, -0.34936276)
|
||||
pixel_size = 0.005
|
||||
texture = SubResource("GradientTexture2D_lp5jo")
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="Model" unique_id=1684592543]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 0.9238404, -0.47173643)
|
||||
light_color = Color(0.87551093, 0.72609586, 0.8473426, 1)
|
||||
shadow_enabled = true
|
||||
omni_range = 1.8928293
|
||||
|
||||
[node name="AnimationPlayer" parent="Model" index="6" unique_id=636985304]
|
||||
autoplay = &"Turning"
|
||||
|
||||
[node name="HoverAnimationPlayer" type="AnimationPlayer" parent="." unique_id=1414304456]
|
||||
libraries/ = SubResource("AnimationLibrary_xa016")
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="." unique_id=1684592543]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.9604645e-08, 1.0397238, -0.47173643)
|
||||
light_color = Color(0.87551093, 0.72609586, 0.8473426, 1)
|
||||
shadow_enabled = true
|
||||
omni_range = 1.8928293
|
||||
[node name="RingingAnimationPlayer" type="AnimationPlayer" parent="." unique_id=1401157488]
|
||||
unique_name_in_owner = true
|
||||
libraries/ = SubResource("AnimationLibrary_bc3p2")
|
||||
|
||||
[editable path="Model"]
|
||||
|
||||
21
entities/interactable_3d/phone/scripts/phone.gd
Normal file
21
entities/interactable_3d/phone/scripts/phone.gd
Normal file
@@ -0,0 +1,21 @@
|
||||
extends Interactable3D
|
||||
class_name Phone
|
||||
|
||||
|
||||
func click():
|
||||
if interactable:
|
||||
clicked.emit()
|
||||
interactable = false
|
||||
|
||||
func set_interactable(i := interactable):
|
||||
interactable = i
|
||||
|
||||
if is_node_ready() and hover_animation_player:
|
||||
if i and hover_animation_player.has_animation("activated"):
|
||||
hover_animation_player.play("activated")
|
||||
if not i and hover_animation_player.has_animation("deactivated"):
|
||||
hover_animation_player.play("deactivated")
|
||||
if i :
|
||||
%RingingAnimationPlayer.play("ring")
|
||||
else:
|
||||
%RingingAnimationPlayer.stop()
|
||||
1
entities/interactable_3d/phone/scripts/phone.gd.uid
Normal file
1
entities/interactable_3d/phone/scripts/phone.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://chedhuxpxro4k
|
||||
Reference in New Issue
Block a user