Feature pour l'alpha 1.3

* Ajout d'un mode infini (pour nos hard core gamers)
* Ajout d'un message de découverte d'un nouvel outil
* Séparation de la pelle en deux outils : la pioche et la fourche
* Amélioration de la lisibilité des capsules d'énergies
* Changement léger des texture du sol et de la pierre
* Correction d'un bug lors du clic frénétique sur le porte de sortie du vaisseau
* Ajout d'un icône de recharge
* Fix de la mutation Ancien qui ne s'améliorait pas au niveau 4

+ début de dev des artefacts avec un distributeur
This commit is contained in:
2026-03-27 17:28:20 +01:00
parent 28dfc94da6
commit d45fab6a3d
90 changed files with 1896 additions and 577 deletions

10
gui/artefacts/artefact.gd Normal file
View File

@@ -0,0 +1,10 @@
@abstract
extends Resource
class_name Artefact
@abstract func get_artefact_name() -> String
@abstract func get_3d_scene() -> PackedScene
# @abstract func card_info() -> CardInfo

View File

@@ -0,0 +1 @@
uid://d2nheldbqquy1

Binary file not shown.

View File

@@ -0,0 +1,68 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://dolv2637emdbw"
path="res://.godot/imported/pile.blend-30b48bcbeddf39d9b6df3c289ba33608.scn"
[deps]
source_file="res://gui/artefacts/pile/pile.blend"
dest_files=["res://.godot/imported/pile.blend-30b48bcbeddf39d9b6df3c289ba33608.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": {
"Material": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
}
}
}
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.

View File

@@ -0,0 +1,9 @@
@tool
extends Artefact
class_name PileArtefact
func get_artefact_name() -> String:
return "PILE"
func get_3d_scene() -> PackedScene:
return preload("res://gui/artefacts/pile/pile.blend")

View File

@@ -0,0 +1 @@
uid://c6lr0fucklsto

Binary file not shown.

View File

@@ -0,0 +1,68 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cclvb8o3vofff"
path="res://.godot/imported/seed_case.blend-123afc7672467c4885837d27f75f5e08.scn"
[deps]
source_file="res://gui/artefacts/seed_case/seed_case.blend"
dest_files=["res://.godot/imported/seed_case.blend-123afc7672467c4885837d27f75f5e08.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": {
"Material": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
}
}
}
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

View File

@@ -0,0 +1,9 @@
@tool
extends Artefact
class_name SeedCaseArtefact
func get_artefact_name() -> String:
return "SEED_CASE"
func get_3d_scene() -> PackedScene:
return preload("res://gui/artefacts/seed_case/seed_case.blend")

View File

@@ -0,0 +1 @@
uid://c7o5p4uk556v6

View File

@@ -2,24 +2,40 @@
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="1_0ssee"]
[ext_resource type="Script" uid="uid://bvb4v66bqteuc" path="res://gui/game/announce/scripts/announce.gd" id="1_4evne"]
[ext_resource type="FontFile" uid="uid://cpnsnrqhfkj3k" path="res://gui/ressources/fonts/spincycle_ot.otf" id="2_yrhd4"]
[ext_resource type="Shader" uid="uid://cuni3ggtw2uuy" path="res://common/vfx/materials/shaders/blur.gdshader" id="2_b6hac"]
[ext_resource type="Texture2D" uid="uid://bi5jo6pf0acjb" path="res://common/icons/carambola.svg" id="2_iwcrn"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="3_7nrno"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="4_aao0q"]
[ext_resource type="Environment" uid="uid://bxyp24f85p0xf" path="res://gui/game/assets/gui_3d_environment.tres" id="4_yjj5u"]
[ext_resource type="Script" uid="uid://bqisp5hjs06rj" path="res://gui/game/announce/scripts/announce_inspectable.gd" id="6_aao0q"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="9_b6hac"]
[sub_resource type="LabelSettings" id="LabelSettings_vbart"]
font = ExtResource("2_yrhd4")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_f0v68"]
shader = ExtResource("2_b6hac")
shader_parameter/strength = 5.00000023424012
shader_parameter/mix_percentage = 0.3
[sub_resource type="ViewportTexture" id="ViewportTexture_huxc5"]
viewport_path = NodePath("Particles/SubViewport")
[sub_resource type="Curve" id="Curve_iwcrn"]
_limits = [-200.0, 200.0, 0.0, 1.0]
_data = [Vector2(0, -200), 0.0, 560.0, 0, 0, Vector2(0.08235294, 92.384125), 1336.3082, 1336.3082, 0, 0, Vector2(0.34901965, 200), 0.0, 0.0, 0, 0, Vector2(0.854902, -200), 0.0, 0.0, 0, 0]
point_count = 4
[sub_resource type="Gradient" id="Gradient_oh30d"]
offsets = PackedFloat32Array(0, 0.8689956, 0.98253274)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="LabelSettings" id="LabelSettings_6qyp1"]
font = ExtResource("4_aao0q")
font_size = 50
font_color = Color(1, 0.6509804, 0.09019608, 1)
[sub_resource type="Gradient" id="Gradient_id0t5"]
interpolation_mode = 1
offsets = PackedFloat32Array(0, 0.115169, 0.41573, 0.620786, 0.924157)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1)
[sub_resource type="ViewportTexture" id="ViewportTexture_aao0q"]
viewport_path = NodePath("AnnounceContainer/ObjectVisualiser/SubViewport")
[sub_resource type="GradientTexture2D" id="GradientTexture2D_mnweq"]
gradient = SubResource("Gradient_id0t5")
fill_to = Vector2(1, 1)
repeat = 1
[sub_resource type="Animation" id="Animation_ok3ge"]
[sub_resource type="Animation" id="Animation_aao0q"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
@@ -31,36 +47,48 @@ tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
"values": [true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("VBoxContainer/AnnounceTexture:custom_minimum_size")
tracks/1/path = NodePath("AnnounceContainer:theme_override_constants/separation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
"update": 1,
"values": [4]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("VBoxContainer:modulate")
tracks/2/path = NodePath("Particles:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 0)]
"values": [Color(1, 1, 1, 1)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("AnnounceContainer:modulate")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_871vo"]
resource_name = "pass"
length = 4.0
[sub_resource type="Animation" id="Animation_b6hac"]
resource_name = "appear"
length = 0.8
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
@@ -68,93 +96,159 @@ tracks/0/path = NodePath(".:visible")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.0333333, 3.96667, 4),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"times": PackedFloat32Array(0.03333333, 0.16666669),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [false, true, true, false]
"values": [false, true]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("VBoxContainer/AnnounceTexture:custom_minimum_size")
tracks/1/interp = 1
tracks/1/path = NodePath("AnnounceContainer:theme_override_constants/separation")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.0666667, 0.433333, 3.5, 3.96667),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"times": PackedFloat32Array(0.23333333, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, 65), Vector2(0, 65), Vector2(0, 0)]
"values": [480, 4]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("VBoxContainer:modulate")
tracks/2/interp = 1
tracks/2/path = NodePath("Particles:modulate")
tracks/2/interp = 2
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.0666667, 0.133333, 3.86667, 3.96667),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"times": PackedFloat32Array(0.5, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("AnnounceContainer:modulate")
tracks/3/interp = 2
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0.2, 0.8),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dvva5"]
[sub_resource type="AnimationLibrary" id="AnimationLibrary_6qyp1"]
_data = {
&"RESET": SubResource("Animation_ok3ge"),
&"pass": SubResource("Animation_871vo")
&"RESET": SubResource("Animation_aao0q"),
&"appear": SubResource("Animation_b6hac")
}
[node name="Announce" type="Control" unique_id=509404832]
visible = false
clip_contents = true
layout_mode = 3
[node name="Announce" type="CanvasLayer" unique_id=1659074958]
script = ExtResource("1_4evne")
[node name="MarginContainer" type="MarginContainer" parent="." unique_id=1463847780]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
script = ExtResource("1_4evne")
[node name="VBoxContainer" type="VBoxContainer" parent="." unique_id=1385456888]
modulate = Color(1, 1, 1, 0)
clip_contents = true
layout_mode = 1
anchors_preset = 14
[node name="BlurRect" type="ColorRect" parent="MarginContainer" unique_id=1271832904]
material = SubResource("ShaderMaterial_f0v68")
layout_mode = 2
color = Color(0.0352941, 0.0196078, 0.12549, 0.705882)
[node name="Particles" type="TextureRect" parent="." unique_id=691167186]
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 1.0
anchor_right = 0.5
anchor_bottom = 0.5
offset_top = -73.5
offset_bottom = 73.5
offset_left = -500.0
offset_top = -500.0
offset_right = 500.0
offset_bottom = 500.0
grow_horizontal = 2
grow_vertical = 2
mouse_filter = 2
theme = ExtResource("1_0ssee")
texture = SubResource("ViewportTexture_huxc5")
[node name="SubViewport" type="SubViewport" parent="Particles" unique_id=1750661995]
transparent_bg = true
size = Vector2i(1000, 1000)
[node name="GPUParticles2D" type="CPUParticles2D" parent="Particles/SubViewport" unique_id=486255573]
position = Vector2(500, 500)
amount = 20
texture = ExtResource("2_iwcrn")
preprocess = 1.0
spread = 180.0
gravity = Vector2(0, 0)
initial_velocity_min = 2.0
initial_velocity_max = 2.0
linear_accel_min = 5.0
linear_accel_max = 5.0
linear_accel_curve = SubResource("Curve_iwcrn")
color_ramp = SubResource("Gradient_oh30d")
[node name="AnnounceContainer" type="VBoxContainer" parent="." unique_id=2136389163]
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/separation = 4
alignment = 1
[node name="AnnounceTitle" type="Label" parent="VBoxContainer" unique_id=2048669092]
[node name="AnnounceTitle" type="Label" parent="AnnounceContainer" unique_id=988493009]
unique_name_in_owner = true
layout_mode = 2
text = "New Quota"
label_settings = SubResource("LabelSettings_vbart")
horizontal_alignment = 1
[node name="AnnounceTexture" type="TextureRect" parent="VBoxContainer" unique_id=1523197516]
unique_name_in_owner = true
modulate = Color(0.886275, 0.623529, 0.196078, 1)
layout_mode = 2
mouse_filter = 2
texture = SubResource("GradientTexture2D_mnweq")
expand_mode = 1
stretch_mode = 1
[node name="AnnounceText" type="Label" parent="VBoxContainer" unique_id=147253395]
unique_name_in_owner = true
layout_mode = 2
text = "Decontaminate 50 unit in 10 days"
text = "NEW_TOOL"
label_settings = ExtResource("3_7nrno")
horizontal_alignment = 1
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=357490739]
[node name="AnnounceText" type="Label" parent="AnnounceContainer" unique_id=1537255164]
unique_name_in_owner = true
libraries/ = SubResource("AnimationLibrary_dvva5")
layout_mode = 2
text = "Pelle"
label_settings = SubResource("LabelSettings_6qyp1")
horizontal_alignment = 1
[node name="ObjectVisualiser" type="TextureRect" parent="AnnounceContainer" unique_id=1529068201]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
mouse_filter = 0
texture = SubResource("ViewportTexture_aao0q")
stretch_mode = 5
script = ExtResource("6_aao0q")
[node name="SubViewport" type="SubViewport" parent="AnnounceContainer/ObjectVisualiser" unique_id=403959884]
own_world_3d = true
transparent_bg = true
size = Vector2i(300, 300)
[node name="AnnouceObject" type="Node3D" parent="AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=986671004]
unique_name_in_owner = true
transform = Transform3D(0.8788874, 0.4667406, 0.09817754, -0.45027143, 0.74415994, 0.4933552, 0.15722138, -0.47777224, 0.8642758, 0, 0, 0)
[node name="Camera3D" type="Camera3D" parent="AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=1788331074]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1)
keep_aspect = 0
current = true
fov = 20.0
[node name="WorldEnvironment" type="WorldEnvironment" parent="AnnounceContainer/ObjectVisualiser/SubViewport" unique_id=296795988]
environment = ExtResource("4_yjj5u")
[node name="OkButton" type="Button" parent="AnnounceContainer" unique_id=56162930]
unique_name_in_owner = true
layout_mode = 2
size_flags_horizontal = 4
theme = ExtResource("1_0ssee")
text = "OK"
icon = ExtResource("9_b6hac")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=878057487]
unique_name_in_owner = true
libraries/ = SubResource("AnimationLibrary_6qyp1")

View File

@@ -0,0 +1,13 @@
@abstract
extends Resource
class_name AnnouceObject
@abstract func get_3d_object() -> Node3D
@abstract func get_title() -> String
@abstract func get_text() -> String
@abstract func get_card_info() -> CardInfo
@abstract func _on_dismiss()

View File

@@ -0,0 +1 @@
uid://yprrjw1yrcx6

View File

@@ -0,0 +1,30 @@
@tool
extends AnnouceObject
class_name AnnounceTool
const ITEM_3D_SCENE = preload("res://gui/game/inventory_gui/inventory_item/inventory_item_3d.tscn")
@export var tool_item : Item
func _init(_tool_item : Item):
tool_item = _tool_item
func get_3d_object() -> Node3D:
var new_object = ITEM_3D_SCENE.instantiate() as InventoryItem3D
new_object.item = tool_item
new_object.state = InventoryItem3D.State.TOOL
return new_object
func get_title() -> String:
return "NEW_TOOL"
func get_text() -> String:
return tool_item.get_item_name()
func get_card_info() -> CardInfo:
return tool_item.card_info()
func _on_dismiss():
pass
# GameInfo.game_data.player_data.tool_discovered.append(tool_item.get_item_name())

View File

@@ -0,0 +1 @@
uid://cp40tddq85p6o

View File

@@ -1,12 +1,89 @@
extends Control
@tool
extends CanvasLayer
class_name Announce
const DEFAULT_OBJECT_ACCELERATION = Vector2(3,0)
@export var announce_object : AnnouceObject = null : set = set_announce_object
@export_tool_button("Update", "Callable") var update_action = set_announce_object
var announce_objects : Array[AnnouceObject] = []
var object_acceleration := Vector2(0,0)
var rotating := false
var prev_mouse_pos : Vector2
var next_mouse_pos : Vector2
const YELLOW_COLOR = Color("e29f32")
const RED_COLOR = Color("f20058")
func announce(title : String, text : String, band_color : Color = YELLOW_COLOR):
%AnnounceTitle.text = title
%AnnounceText.text = text
%AnnounceTexture.modulate = band_color
%AnimationPlayer.play("pass")
AudioManager.play_sfx("Announce")
func _ready():
set_announce_object()
%OkButton.button_down.connect(_on_ok_button_down)
hide()
GameInfo.game_data.player_data.inventory.tool_added.connect(
func (i : Item):
announce_objects.append(AnnounceTool.new(i))
)
func _process(delta):
if announce_object == null and not visible and len(announce_objects) > 0:
announce_object = announce_objects.pop_front()
update_rotation(delta)
func update_rotation(delta):
if visible:
next_mouse_pos = get_viewport().get_mouse_position()
if Input.is_action_just_pressed("action"):
rotating = true
prev_mouse_pos = get_viewport().get_mouse_position()
if Input.is_action_just_released("action"):
rotating = false
object_acceleration = Vector2(
float(next_mouse_pos.x - prev_mouse_pos.x),
float(next_mouse_pos.y - prev_mouse_pos.y)
)
var object_rotation = object_acceleration
if rotating:
object_rotation = Vector2(
float(next_mouse_pos.x - prev_mouse_pos.x),
float(next_mouse_pos.y - prev_mouse_pos.y)
)
prev_mouse_pos = next_mouse_pos
else :
object_acceleration = object_acceleration.lerp(DEFAULT_OBJECT_ACCELERATION, 0.1)
%AnnouceObject.rotate(Vector3.UP, object_rotation.x * delta)
%AnnouceObject.rotate(Vector3.RIGHT, object_rotation.y * delta)
func set_announce_object(object := announce_object):
if is_node_ready() and object:
for children in %AnnouceObject.get_children():
children.queue_free()
%AnnouceObject.add_child(object.get_3d_object())
%AnnouceObject.rotation = Vector3.ZERO
%AnnounceTitle.text = object.get_title()
%AnnounceText.text = object.get_text()
%ObjectVisualiser.info = object.get_card_info()
if not visible:
%AnimationPlayer.play("appear")
AudioManager.play_sfx("Ship_reveal")
elif object == null and visible:
%AnimationPlayer.play_backwards("appear")
announce_object = object
func _on_ok_button_down():
if announce_object:
announce_object._on_dismiss()
announce_object = null

View File

@@ -0,0 +1,14 @@
extends TextureRect
@export var info: CardInfo = null
func _ready():
mouse_entered.connect(
func(): Pointer.inspect(self)
)
mouse_exited.connect(
func(): Pointer.stop_inspect(self)
)
func card_info() -> CardInfo:
return info

View File

@@ -0,0 +1 @@
uid://bqisp5hjs06rj

View File

@@ -18,6 +18,6 @@ transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 0, 0, 0)
[node name="NonPoweredBatteryGauge" type="Sprite3D" parent="." unique_id=419634974]
unique_name_in_owner = true
transform = Transform3D(-9.0001855e-08, -0.008180644, 0.9999901, -1.1066229, -1.3152051, -0.003110032, 1.1066215, -1.3152068, -0.003109955, 0.28073934, 0.18676496, -0.05360138)
transform = Transform3D(-3.00128e-07, -0.011105444, 0.99999034, -3.705242, -1.7854263, -0.0031100323, 3.7052372, -1.7854285, -0.0031099557, 0.24117891, 0.37186503, -0.052738685)
centered = false
texture = SubResource("AtlasTexture_0785j")

View File

@@ -2,7 +2,7 @@
extends Node3D
class_name Battery3d
const MAX_BATTERY_GAUGE_SPRITE_SCALE = 1.86
const MAX_BATTERY_GAUGE_SPRITE_SCALE = 2.525
@export var powered : bool = true : set = set_powered

View File

@@ -9,16 +9,7 @@
[ext_resource type="Texture2D" uid="uid://bt3g5bmar0icf" path="res://common/icons/growth.svg" id="6_id0t5"]
[ext_resource type="Texture2D" uid="uid://b43thuq8piv18" path="res://common/icons/skull.svg" id="7_dr1y2"]
[ext_resource type="PackedScene" uid="uid://clicjf8ts51h8" path="res://gui/game/inventory_gui/inventory_gui.tscn" id="9_id0t5"]
[ext_resource type="Texture2D" uid="uid://cwewx7cdy085h" path="res://common/icons/help-hexagon.svg" id="12_negho"]
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="12_nhqnj"]
[ext_resource type="Texture2D" uid="uid://bgcymkgxk7mpp" path="res://gui/pause/assets/textures/moss_tutorial_image.png" id="12_p0xoq"]
[ext_resource type="Script" uid="uid://c65cf2ksbsxwg" path="res://gui/game/help/scripts/help_container.gd" id="13_rcm5b"]
[ext_resource type="Texture2D" uid="uid://d3ksdxepcjoot" path="res://common/icons/calendar-week.svg" id="13_w16yr"]
[ext_resource type="Texture2D" uid="uid://cgmxjom200bej" path="res://common/icons/chevrons-up.svg" id="14_mbdxg"]
[ext_resource type="Texture2D" uid="uid://bhogi5kkltx51" path="res://gui/pause/assets/textures/rock_tutorial_image.png" id="14_negho"]
[ext_resource type="Texture2D" uid="uid://3fwhxkd0ycga" path="res://gui/pause/assets/textures/talion_tutorial_image.png" id="15_rcm5b"]
[ext_resource type="Texture2D" uid="uid://dhy4ewvqvlxyi" path="res://common/icons/clock.svg" id="20_ajf5p"]
[ext_resource type="Texture2D" uid="uid://c2qg7ikkylfv4" path="res://common/icons/seeds.svg" id="21_jomh8"]
[ext_resource type="PackedScene" uid="uid://cgbjmw75alfeo" path="res://gui/game/help/help.tscn" id="10_id0t5"]
[sub_resource type="Gradient" id="Gradient_ykapk"]
offsets = PackedFloat32Array(0.47639486, 1)
@@ -71,10 +62,6 @@ _data = {
&"bump": SubResource("Animation_ajf5p")
}
[sub_resource type="LabelSettings" id="LabelSettings_rcm5b"]
font = ExtResource("6_2wykm")
font_size = 20
[node name="GameGui" type="CanvasLayer" unique_id=274698556]
script = ExtResource("1_udau0")
@@ -196,227 +183,5 @@ layout_mode = 2
size_flags_horizontal = 1
size_flags_vertical = 8
[node name="Help" type="VBoxContainer" parent="MarginContainer" unique_id=645268912]
[node name="Help" parent="MarginContainer" unique_id=152252336 instance=ExtResource("10_id0t5")]
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 0
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/Help" unique_id=58561073]
layout_mode = 2
theme_override_constants/separation = 5
alignment = 2
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/HBoxContainer" unique_id=147740513]
layout_mode = 2
texture = ExtResource("12_negho")
expand_mode = 3
stretch_mode = 5
[node name="Label" type="Label" parent="MarginContainer/Help/HBoxContainer" unique_id=245455638]
layout_mode = 2
text = "HELP"
label_settings = SubResource("LabelSettings_rcm5b")
[node name="TerrainHelp" type="FoldableContainer" parent="MarginContainer/Help" unique_id=765624548]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 0
title = "TERRAINS"
script = ExtResource("13_rcm5b")
help_container_name = "terrain"
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/Help/TerrainHelp" unique_id=276300201]
layout_mode = 2
theme_override_constants/margin_left = 8
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 8
[node name="Zones" type="VBoxContainer" parent="MarginContainer/Help/TerrainHelp/MarginContainer" unique_id=897827374]
layout_mode = 2
[node name="Moss" type="HBoxContainer" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones" unique_id=1245369351]
layout_mode = 2
size_flags_horizontal = 3
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones/Moss" unique_id=590490498]
custom_minimum_size = Vector2(0, 60)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("12_p0xoq")
expand_mode = 3
stretch_mode = 5
[node name="RichText" type="RichTextLabel" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones/Moss" unique_id=1908542695]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("12_nhqnj")
theme_override_fonts/bold_font = ExtResource("6_2wykm")
theme_override_font_sizes/normal_font_size = 15
theme_override_font_sizes/bold_font_size = 18
bbcode_enabled = true
text = "FERTILE_LAND_TEXT"
fit_content = true
vertical_alignment = 1
[node name="Rock" type="HBoxContainer" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones" unique_id=1388177815]
layout_mode = 2
size_flags_horizontal = 3
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones/Rock" unique_id=84789195]
custom_minimum_size = Vector2(0, 60)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("14_negho")
expand_mode = 3
stretch_mode = 5
[node name="RichText" type="RichTextLabel" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones/Rock" unique_id=584054118]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("12_nhqnj")
theme_override_fonts/bold_font = ExtResource("6_2wykm")
theme_override_font_sizes/normal_font_size = 15
theme_override_font_sizes/bold_font_size = 18
bbcode_enabled = true
text = "ROCK_TEXT"
fit_content = true
vertical_alignment = 1
[node name="Talion" type="HBoxContainer" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones" unique_id=786946987]
layout_mode = 2
size_flags_horizontal = 3
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones/Talion" unique_id=1949577473]
custom_minimum_size = Vector2(0, 60)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("15_rcm5b")
expand_mode = 3
stretch_mode = 5
[node name="RichText" type="RichTextLabel" parent="MarginContainer/Help/TerrainHelp/MarginContainer/Zones/Talion" unique_id=813195094]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("12_nhqnj")
theme_override_fonts/bold_font = ExtResource("6_2wykm")
theme_override_font_sizes/normal_font_size = 15
theme_override_font_sizes/bold_font_size = 18
bbcode_enabled = true
text = "TALION_VEIN_TEXT"
fit_content = true
vertical_alignment = 1
[node name="IconHelp" type="FoldableContainer" parent="MarginContainer/Help" unique_id=506997372]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 0
title = "ICONS_MEANINGS"
script = ExtResource("13_rcm5b")
help_container_name = "icon"
[node name="MarginContainer" type="MarginContainer" parent="MarginContainer/Help/IconHelp" unique_id=2076413829]
layout_mode = 2
theme_override_constants/margin_left = 8
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 8
[node name="IconsGrid" type="VBoxContainer" parent="MarginContainer/Help/IconHelp/MarginContainer" unique_id=443451416]
layout_mode = 2
alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid" unique_id=1230753118]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer" unique_id=582458449]
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("6_id0t5")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer" unique_id=452890750]
layout_mode = 2
theme = ExtResource("12_nhqnj")
text = "PLANT_POINTS"
vertical_alignment = 1
[node name="HBoxContainer2" type="HBoxContainer" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid" unique_id=1347045145]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer2" unique_id=157378534]
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("13_w16yr")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer2" unique_id=787250244]
layout_mode = 2
theme = ExtResource("12_nhqnj")
text = "DAYS"
vertical_alignment = 1
[node name="HBoxContainer3" type="HBoxContainer" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid" unique_id=209714175]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer3" unique_id=1390720076]
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("14_mbdxg")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer3" unique_id=1494799300]
layout_mode = 2
theme = ExtResource("12_nhqnj")
text = "GROWING_TIME"
vertical_alignment = 1
[node name="HBoxContainer4" type="HBoxContainer" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid" unique_id=2039812090]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer4" unique_id=353853877]
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("20_ajf5p")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer4" unique_id=2071201389]
layout_mode = 2
theme = ExtResource("12_nhqnj")
text = "LIFETIME"
vertical_alignment = 1
[node name="HBoxContainer5" type="HBoxContainer" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid" unique_id=1706837358]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer5" unique_id=298500502]
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("21_jomh8")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="MarginContainer/Help/IconHelp/MarginContainer/IconsGrid/HBoxContainer5" unique_id=1100044131]
layout_mode = 2
theme = ExtResource("12_nhqnj")
text = "SEEDS"
vertical_alignment = 1

280
gui/game/help/help.tscn Normal file
View File

@@ -0,0 +1,280 @@
[gd_scene format=3 uid="uid://cgbjmw75alfeo"]
[ext_resource type="Texture2D" uid="uid://cwewx7cdy085h" path="res://common/icons/help-hexagon.svg" id="1_fajau"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="2_l61dv"]
[ext_resource type="Script" uid="uid://c65cf2ksbsxwg" path="res://gui/game/help/scripts/help_container.gd" id="3_syp3u"]
[ext_resource type="Texture2D" uid="uid://bgcymkgxk7mpp" path="res://gui/pause/assets/textures/moss_tutorial_image.png" id="4_liwse"]
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="5_mao3x"]
[ext_resource type="Texture2D" uid="uid://bhogi5kkltx51" path="res://gui/pause/assets/textures/rock_tutorial_image.png" id="6_bt3y5"]
[ext_resource type="Texture2D" uid="uid://3fwhxkd0ycga" path="res://gui/pause/assets/textures/talion_tutorial_image.png" id="7_jx4fu"]
[ext_resource type="Texture2D" uid="uid://bt3g5bmar0icf" path="res://common/icons/growth.svg" id="8_ajtcc"]
[ext_resource type="Texture2D" uid="uid://d3ksdxepcjoot" path="res://common/icons/calendar-week.svg" id="9_i5c4s"]
[ext_resource type="Texture2D" uid="uid://cgmxjom200bej" path="res://common/icons/chevrons-up.svg" id="10_0a2af"]
[ext_resource type="Texture2D" uid="uid://dhy4ewvqvlxyi" path="res://common/icons/clock.svg" id="11_tiice"]
[ext_resource type="Texture2D" uid="uid://c2qg7ikkylfv4" path="res://common/icons/seeds.svg" id="12_vb6ry"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="13_r8wgh"]
[ext_resource type="Texture2D" uid="uid://cymrmhsihkj44" path="res://common/icons/recharge.svg" id="14_ccxsv"]
[sub_resource type="LabelSettings" id="LabelSettings_rcm5b"]
font = ExtResource("2_l61dv")
font_size = 20
[node name="Help" type="VBoxContainer" unique_id=152252336]
size_flags_horizontal = 8
size_flags_vertical = 0
[node name="HBoxContainer" type="HBoxContainer" parent="." unique_id=541877405]
layout_mode = 2
theme_override_constants/separation = 5
alignment = 2
[node name="TextureRect" type="TextureRect" parent="HBoxContainer" unique_id=629672827]
layout_mode = 2
texture = ExtResource("1_fajau")
expand_mode = 3
stretch_mode = 5
[node name="Label" type="Label" parent="HBoxContainer" unique_id=2069982782]
layout_mode = 2
text = "HELP"
label_settings = SubResource("LabelSettings_rcm5b")
[node name="TerrainHelp" type="FoldableContainer" parent="." unique_id=221139748]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 0
title = "TERRAINS"
script = ExtResource("3_syp3u")
help_container_name = "terrain"
[node name="MarginContainer" type="MarginContainer" parent="TerrainHelp" unique_id=937055110]
layout_mode = 2
theme_override_constants/margin_left = 8
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 8
[node name="Zones" type="VBoxContainer" parent="TerrainHelp/MarginContainer" unique_id=83983981]
layout_mode = 2
[node name="Moss" type="HBoxContainer" parent="TerrainHelp/MarginContainer/Zones" unique_id=116883301]
layout_mode = 2
size_flags_horizontal = 3
[node name="TextureRect" type="TextureRect" parent="TerrainHelp/MarginContainer/Zones/Moss" unique_id=2127894722]
custom_minimum_size = Vector2(0, 60)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("4_liwse")
expand_mode = 3
stretch_mode = 5
[node name="RichText" type="RichTextLabel" parent="TerrainHelp/MarginContainer/Zones/Moss" unique_id=941957004]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("5_mao3x")
theme_override_fonts/bold_font = ExtResource("2_l61dv")
theme_override_font_sizes/normal_font_size = 15
theme_override_font_sizes/bold_font_size = 18
bbcode_enabled = true
text = "FERTILE_LAND_TEXT"
fit_content = true
vertical_alignment = 1
[node name="Rock" type="HBoxContainer" parent="TerrainHelp/MarginContainer/Zones" unique_id=1546734905]
layout_mode = 2
size_flags_horizontal = 3
[node name="TextureRect" type="TextureRect" parent="TerrainHelp/MarginContainer/Zones/Rock" unique_id=20628007]
custom_minimum_size = Vector2(0, 60)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("6_bt3y5")
expand_mode = 3
stretch_mode = 5
[node name="RichText" type="RichTextLabel" parent="TerrainHelp/MarginContainer/Zones/Rock" unique_id=782682665]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("5_mao3x")
theme_override_fonts/bold_font = ExtResource("2_l61dv")
theme_override_font_sizes/normal_font_size = 15
theme_override_font_sizes/bold_font_size = 18
bbcode_enabled = true
text = "ROCK_TEXT"
fit_content = true
vertical_alignment = 1
[node name="Talion" type="HBoxContainer" parent="TerrainHelp/MarginContainer/Zones" unique_id=1594298218]
layout_mode = 2
size_flags_horizontal = 3
[node name="TextureRect" type="TextureRect" parent="TerrainHelp/MarginContainer/Zones/Talion" unique_id=247200209]
custom_minimum_size = Vector2(0, 60)
layout_mode = 2
size_flags_horizontal = 4
size_flags_vertical = 4
texture = ExtResource("7_jx4fu")
expand_mode = 3
stretch_mode = 5
[node name="RichText" type="RichTextLabel" parent="TerrainHelp/MarginContainer/Zones/Talion" unique_id=1292601454]
layout_mode = 2
size_flags_horizontal = 3
theme = ExtResource("5_mao3x")
theme_override_fonts/bold_font = ExtResource("2_l61dv")
theme_override_font_sizes/normal_font_size = 15
theme_override_font_sizes/bold_font_size = 18
bbcode_enabled = true
text = "TALION_VEIN_TEXT"
fit_content = true
vertical_alignment = 1
[node name="IconHelp" type="FoldableContainer" parent="." unique_id=931940053]
custom_minimum_size = Vector2(300, 0)
layout_mode = 2
size_flags_horizontal = 8
size_flags_vertical = 0
title = "ICONS_MEANINGS"
script = ExtResource("3_syp3u")
help_container_name = "icon"
[node name="MarginContainer" type="MarginContainer" parent="IconHelp" unique_id=627387657]
layout_mode = 2
theme_override_constants/margin_left = 8
theme_override_constants/margin_top = 8
theme_override_constants/margin_right = 8
theme_override_constants/margin_bottom = 8
[node name="IconsGrid" type="VBoxContainer" parent="IconHelp/MarginContainer" unique_id=1344975233]
layout_mode = 2
alignment = 1
[node name="HBoxContainer" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=1388308447]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer" unique_id=848501211]
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("8_ajtcc")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer" unique_id=913881976]
layout_mode = 2
theme = ExtResource("5_mao3x")
text = "PLANT_POINTS"
vertical_alignment = 1
[node name="HBoxContainer2" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=1039110967]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer2" unique_id=1533385173]
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("9_i5c4s")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer2" unique_id=1539873337]
layout_mode = 2
theme = ExtResource("5_mao3x")
text = "DAYS"
vertical_alignment = 1
[node name="HBoxContainer3" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=1009856551]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer3" unique_id=483862285]
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("10_0a2af")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer3" unique_id=1118498780]
layout_mode = 2
theme = ExtResource("5_mao3x")
text = "GROWING_TIME"
vertical_alignment = 1
[node name="HBoxContainer4" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=1195759820]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer4" unique_id=617759410]
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("11_tiice")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer4" unique_id=44288020]
layout_mode = 2
theme = ExtResource("5_mao3x")
text = "LIFETIME"
vertical_alignment = 1
[node name="HBoxContainer5" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=1749624633]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer5" unique_id=1970160966]
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("12_vb6ry")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer5" unique_id=1667196444]
layout_mode = 2
theme = ExtResource("5_mao3x")
text = "SEEDS"
vertical_alignment = 1
[node name="HBoxContainer6" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=65069381]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer6" unique_id=302101280]
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("13_r8wgh")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer6" unique_id=1371041548]
layout_mode = 2
theme = ExtResource("5_mao3x")
text = "ORCHID_ENERGY"
vertical_alignment = 1
[node name="HBoxContainer7" type="HBoxContainer" parent="IconHelp/MarginContainer/IconsGrid" unique_id=1616445361]
layout_mode = 2
theme_override_constants/separation = 4
[node name="TextureRect" type="TextureRect" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer7" unique_id=1012780398]
custom_minimum_size = Vector2(25, 25)
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("14_ccxsv")
expand_mode = 1
stretch_mode = 5
[node name="RichTextLabel" type="Label" parent="IconHelp/MarginContainer/IconsGrid/HBoxContainer7" unique_id=537891031]
layout_mode = 2
theme = ExtResource("5_mao3x")
text = "RECHARGE_NUMBER"
vertical_alignment = 1

View File

@@ -59,6 +59,7 @@ expand_mode = 1
stretch_mode = 5
[node name="ProgressBarViewPort" type="SubViewport" parent="." unique_id=459282221]
own_world_3d = true
transparent_bg = true
size = Vector2i(479, 117)

View File

@@ -7,6 +7,7 @@
[ext_resource type="Theme" uid="uid://5au2k3vf2po3" path="res://gui/ressources/menu.tres" id="4_0pm4g"]
[ext_resource type="Script" uid="uid://0dhj8sdpil7q" path="res://gui/tools/control_animation_player.gd" id="5_dqmg8"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="6_dqmg8"]
[ext_resource type="Texture2D" uid="uid://cymrmhsihkj44" path="res://common/icons/recharge.svg" id="6_h2bel"]
[ext_resource type="Texture2D" uid="uid://cihiibon53147" path="res://gui/game/pass_day/assets/day_night_sprite.svg" id="7_m84xg"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_27lg1"]
@@ -55,7 +56,6 @@ _data = {
[node name="PassDay" type="CanvasLayer" unique_id=335255544]
layer = 3
visible = false
script = ExtResource("1_0pm4g")
[node name="Blur" type="ColorRect" parent="." unique_id=546890405]
@@ -72,7 +72,6 @@ script = ExtResource("2_bhfpo")
[node name="PassDayInfo" type="VBoxContainer" parent="." unique_id=833110506]
unique_name_in_owner = true
visible = false
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
@@ -86,6 +85,11 @@ unique_name_in_owner = true
script = ExtResource("5_dqmg8")
metadata/_custom_type_script = "uid://0dhj8sdpil7q"
[node name="TextureRect" type="TextureRect" parent="PassDayInfo" unique_id=1350962162]
layout_mode = 2
size_flags_horizontal = 4
texture = ExtResource("6_h2bel")
[node name="ChargeCount" type="Label" parent="PassDayInfo" unique_id=1326590358]
unique_name_in_owner = true
layout_mode = 2

View File

@@ -19,7 +19,8 @@ var indicators : Array[InGameIndicator]
Step.new(
"CHANGE_ZOOM_WITH_Z_X",
(func ():
return GameInfo.settings_data.zoom != 1.)
return GameInfo.settings_data.zoom != 1.),
(func (): GameInfo.game_data.player_data.inventory.add_item(Detector.new()))
),
Step.new(
"SELECT_ITEM_WITH_SCROLL_CLICK_OR_NUMBER",
@@ -39,7 +40,8 @@ var indicators : Array[InGameIndicator]
Step.new(
"RECHARGE_IN_THE_RECHARGE_STATION",
(func ():
return region and region.data and region.data.charges != 10)
return region and region.data and not region.data.in_passing_day_animation and region.data.charges != RegionParameter.DEFAULT_CHARGE),
(func (): GameInfo.game_data.player_data.inventory.add_item(Pickaxe.new()))
),
Step.new(
"DIG_A_TALION_VEIN_WITH_SHOVEL",
@@ -74,7 +76,8 @@ var indicators : Array[InGameIndicator]
Step.new(
"GAIN_FIRST_PLANT_POINT",
(func ():
return region.data.get_score() != 0)
return region and region.data and not region.data.in_passing_day_animation and region.data.get_score() != 0),
(func (): GameInfo.game_data.player_data.inventory.add_item(Fork.new()))
),
Step.new(
"HARVEST_A_MATURE_PLANT",
@@ -83,7 +86,7 @@ var indicators : Array[InGameIndicator]
if e is Plant and e.harvested:
return true
return false)
),
)
]
func _ready():
@@ -133,19 +136,24 @@ class Step:
var text : String : get = get_text
var is_step_over_callable : Callable
var on_succeeded : Callable
var succeeded = false
func _init(
_text : String = "",
_is_step_over_callable : Callable = (func():return false)
_is_step_over_callable : Callable = (func():return false),
_on_succeeded : Callable = (func():return false)
):
text = _text
is_step_over_callable = _is_step_over_callable
on_succeeded = _on_succeeded
func get_text() -> String:
return text
func update_succeeded() -> bool:
if not succeeded:
succeeded = is_step_over_callable.call()
if succeeded:
on_succeeded.call()
return succeeded

View File

@@ -165,12 +165,10 @@ icon = ExtResource("7_yj6f1")
[node name="Settings" parent="." unique_id=758381952 instance=ExtResource("4_58dya")]
unique_name_in_owner = true
visible = false
mouse_filter = 2
[node name="Controls" parent="." unique_id=358658336 instance=ExtResource("11_urlqn")]
unique_name_in_owner = true
visible = false
mouse_filter = 2
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1779993260]

View File

@@ -153,7 +153,7 @@ opacity = 0.4
metadata/_custom_type_script = "uid://c60a1bjcuj4hd"
[node name="CardCanvasLayer" type="CanvasLayer" parent="." unique_id=391042380]
layer = 2
layer = 10
[node name="CardPosition" type="Control" parent="CardCanvasLayer" unique_id=466738082]
unique_name_in_owner = true

View File

@@ -125,11 +125,7 @@ func inspect(node: Node):
current_inspect.inspect(false)
current_inspect = node
inspected = node
if inspected is InspectableEntity:
inspected_card_info = inspected.card_info()
elif inspected is InventoryGuiItemMouseDetector:
inspected_card_info = inspected.card_info()
elif inspected is RegionPoint:
if inspected.has_method("card_info"):
inspected_card_info = inspected.card_info()
else:
inspected_card_info = null

Binary file not shown.

View File

@@ -0,0 +1,68 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://5l3wve81irlc"
path="res://.godot/imported/vending_machine.blend-07b605eb32be6fa48a7c007c48e05515.scn"
[deps]
source_file="res://gui/vending_machine/assets/3d/vending_machine.blend"
dest_files=["res://.godot/imported/vending_machine.blend-07b605eb32be6fa48a7c007c48e05515.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": {
"Material": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
}
}
}
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.

View File

@@ -0,0 +1,88 @@
@tool
extends CanvasLayer
class_name VendingMachine
enum State {CHOOSE,PAY,FETCH}
enum ChooseState {NONE,FIRST,SECOND}
@export_tool_button("Update", "Callable") var update_action = update
@export var state : State = State.CHOOSE : set = set_state
@export var choose_state : ChooseState = ChooseState.NONE : set = set_choose_state
@export var artefact_1 : Artefact = null : set = set_artifact_1
@export var artefact_2 : Artefact = null : set = set_artifact_2
func _ready():
update()
func update():
set_artifact_1()
set_artifact_2()
set_state()
func set_state(s := state):
state = s
if is_node_ready():
%PayButton.visible = state == State.PAY
%FetchButton.visible = state == State.FETCH
match state:
State.CHOOSE:
%IndicationLabel.text = "CHOOSE_AN_ITEM"
State.PAY:
%IndicationLabel.text = "PAY_THE_PRICE"
State.FETCH:
%IndicationLabel.text = "GET_YOUR_ITEM"
func set_choose_state(s := choose_state):
choose_state = s
if is_node_ready():
%VendingMachine3d.screen_1_hide = s != ChooseState.FIRST
%VendingMachine3d.screen_2_hide = s != ChooseState.SECOND
func set_artifact_1(a := artefact_1):
artefact_1 = a
if is_node_ready() and a:
%SelectButton1.text = a.get_artefact_name()
%VendingMachine3d.object_1_scene = a.get_3d_scene()
func set_artifact_2(a := artefact_2):
artefact_2 = a
if is_node_ready() and a:
%SelectButton2.text = a.get_artefact_name()
%VendingMachine3d.object_2_scene = a.get_3d_scene()
func _on_fetch_button_button_down():
pass # TODO : Adding the artifacts
func _on_pay_button_button_down():
# TODO : The payment
if state == State.PAY and choose_state != ChooseState.NONE:
state = State.FETCH
if choose_state == ChooseState.FIRST:
%VendingMachine3d.fall_object_1()
else :
%VendingMachine3d.fall_object_2()
func _on_select_button_1_button_down():
choose_state = ChooseState.FIRST
if state == State.CHOOSE:
state = State.PAY
func _on_select_button_2_button_down():
choose_state = ChooseState.SECOND
if state == State.CHOOSE:
state = State.PAY
func _on_select_button_bis_1_button_down():
choose_state = ChooseState.FIRST
if state == State.CHOOSE:
state = State.PAY
func _on_select_button_bis_2_button_down():
choose_state = ChooseState.SECOND
if state == State.CHOOSE:
state = State.PAY

View File

@@ -0,0 +1 @@
uid://d4jf1hruxqe6f

View File

@@ -0,0 +1,109 @@
@tool
extends Node3D
class_name VendingMachine3d
const LINE_OBJECT_NUMBER = 5
const LINE_OBJECT_SEPARATION = Vector3.LEFT * 0.2
const FALLING_OBJECT_LINE_SHIFT = Vector3.FORWARD * 0.3
@export_tool_button("Update", "Callable") var update_action = update
@export_tool_button("Fall Object 1", "Callable") var fall_object_1_action = fall_object_1
@export_tool_button("Fall Object 1", "Callable") var fall_object_2_action = fall_object_2
@export var object_1_scene : PackedScene = null : set = set_object_1_scene
@export var object_2_scene : PackedScene = null : set = set_object_2_scene
@export var screen_1_hide : bool = true : set = set_screen_1_hide
@export var screen_2_hide : bool = true : set = set_screen_2_hide
# func _input(_e):
# if Input.is_action_just_pressed("action"):
# fall_object([
# %Line1,
# %Line2,
# %Line3,
# %Line4
# ].pick_random())
func _ready():
update()
func update():
set_object_1_scene()
set_object_2_scene()
set_screen_1_hide()
set_screen_2_hide()
func set_object_1_scene(scene := object_1_scene):
if scene and is_node_ready():
fill_lines(%Line1, scene.instantiate())
fill_lines(%Line2, scene.instantiate())
object_1_scene = scene
func set_object_2_scene(scene := object_2_scene):
if scene and is_node_ready():
fill_lines(%Line3, scene.instantiate())
fill_lines(%Line4, scene.instantiate())
object_2_scene = scene
func set_screen_1_hide(v := screen_1_hide):
screen_1_hide = v
if is_node_ready():
%HideScreen1.visible = v
func set_screen_2_hide(v := screen_2_hide):
screen_2_hide = v
if is_node_ready():
%HideScreen2.visible = v
func fall_object_1():
fall_object([
%Line1,
%Line2
].pick_random())
func fall_object_2():
fall_object([
%Line3,
%Line4
].pick_random())
func fall_object(from_line : Node3D):
if len(from_line.get_children()):
var falling_object = create_falling_object()
var object = from_line.get_children().pick_random() as Node3D
falling_object.global_position = object.global_position + FALLING_OBJECT_LINE_SHIFT
var falling_model = object.duplicate()
falling_model.position = Vector3.ZERO
falling_object.add_child(falling_model)
falling_object.freeze = false
object.queue_free()
%FallingObjects.add_child(falling_object)
func clear_falling_objects():
for c in %FallingObjects.get_children():
c.queue_free()
func create_falling_object() -> RigidBody3D:
var falling_object = RigidBody3D.new()
var falling_collider = CollisionShape3D.new()
var falling_shape = SphereShape3D.new()
falling_shape.radius = 0.08
falling_collider.shape = falling_shape
falling_object.add_child(falling_collider)
falling_object.gravity_scale = 0.2
return falling_object
func fill_lines(line : Node3D, object : Node3D):
for c in line.get_children():
c.queue_free()
for i in range(LINE_OBJECT_NUMBER):
var new_object = object.duplicate()
line.add_child(new_object)
new_object.position = i * LINE_OBJECT_SEPARATION

View File

@@ -0,0 +1 @@
uid://d1prpiulsaqhn

View File

@@ -0,0 +1,399 @@
[gd_scene format=3 uid="uid://du308iardw46"]
[ext_resource type="Script" uid="uid://d4jf1hruxqe6f" path="res://gui/vending_machine/scripts/vending_machine.gd" id="1_7iup0"]
[ext_resource type="Texture2D" uid="uid://bi5jo6pf0acjb" path="res://common/icons/carambola.svg" id="1_y06tm"]
[ext_resource type="PackedScene" uid="uid://blva21dapmm68" path="res://gui/vending_machine/vending_machine_3d.tscn" id="2_54ak6"]
[ext_resource type="Script" uid="uid://c6lr0fucklsto" path="res://gui/artefacts/pile/pile.gd" id="2_dvtve"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="3_54ak6"]
[ext_resource type="Script" uid="uid://c7o5p4uk556v6" path="res://gui/artefacts/seed_case/seed_case.gd" id="3_fy3vt"]
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="4_se5lc"]
[ext_resource type="Texture2D" uid="uid://bmersnaoira20" path="res://common/icons/building-store.svg" id="4_yho0h"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="5_rrfqi"]
[ext_resource type="PackedScene" uid="uid://dolv2637emdbw" path="res://gui/artefacts/pile/pile.blend" id="6_dhfph"]
[ext_resource type="PackedScene" uid="uid://cclvb8o3vofff" path="res://gui/artefacts/seed_case/seed_case.blend" id="7_lv3q6"]
[ext_resource type="Texture2D" uid="uid://3slhocr5wy3w" path="res://common/icons/hand-stop.svg" id="12_bfufr"]
[ext_resource type="Texture2D" uid="uid://4dwxhvjo0yye" path="res://common/icons/hand-grab.svg" id="13_ub0g7"]
[sub_resource type="Resource" id="Resource_dhfph"]
script = ExtResource("3_fy3vt")
metadata/_custom_type_script = "uid://c7o5p4uk556v6"
[sub_resource type="Resource" id="Resource_lv3q6"]
script = ExtResource("2_dvtve")
metadata/_custom_type_script = "uid://c6lr0fucklsto"
[sub_resource type="ViewportTexture" id="ViewportTexture_54ak6"]
viewport_path = NodePath("CenterContainer/Particles/SubViewport")
[sub_resource type="Curve" id="Curve_yho0h"]
_limits = [-200.0, 200.0, 0.0, 1.0]
_data = [Vector2(0, -200), 0.0, 560.0, 0, 0, Vector2(0.08235294, 92.384125), 1336.3082, 1336.3082, 0, 0, Vector2(0.34901965, 200), 0.0, 0.0, 0, 0, Vector2(0.854902, -200), 0.0, 0.0, 0, 0]
point_count = 4
[sub_resource type="Gradient" id="Gradient_rrfqi"]
offsets = PackedFloat32Array(0, 0.8689956, 0.98253274)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="ViewportTexture" id="ViewportTexture_yho0h"]
viewport_path = NodePath("CenterContainer/VendingMachin/VendingMachineVP")
[sub_resource type="Environment" id="Environment_y06tm"]
ambient_light_source = 2
ambient_light_color = Color(1, 1, 1, 1)
ambient_light_energy = 2.29
tonemap_exposure = 0.62
[sub_resource type="LabelSettings" id="LabelSettings_rrfqi"]
font = ExtResource("3_54ak6")
font_size = 20
[sub_resource type="LabelSettings" id="LabelSettings_se5lc"]
font = ExtResource("3_54ak6")
font_size = 14
[sub_resource type="LabelSettings" id="LabelSettings_7iup0"]
font = ExtResource("3_54ak6")
font_size = 40
[sub_resource type="Animation" id="Animation_fy3vt"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CenterContainer/VendingMachin/IndicationLabel:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("CenterContainer/VendingMachin/FetchButton:modulate")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("CenterContainer/VendingMachin/PayButton:modulate")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
[sub_resource type="Animation" id="Animation_41u7u"]
resource_name = "blink"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("CenterContainer/VendingMachin/IndicationLabel:modulate")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.4666667, 1.0666666),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0.5294118), Color(1, 1, 1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("CenterContainer/VendingMachin/FetchButton:modulate")
tracks/1/interp = 2
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.5, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0.5294118), Color(1, 1, 1, 1)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("CenterContainer/VendingMachin/PayButton:modulate")
tracks/2/interp = 2
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 0.53333336, 1),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0.5294118), Color(1, 1, 1, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_dhfph"]
_data = {
&"RESET": SubResource("Animation_fy3vt"),
&"blink": SubResource("Animation_41u7u")
}
[node name="VendingMachine" type="CanvasLayer" unique_id=287282444]
script = ExtResource("1_7iup0")
artefact_1 = SubResource("Resource_dhfph")
artefact_2 = SubResource("Resource_lv3q6")
[node name="CenterContainer" type="Control" parent="." unique_id=317195558]
layout_mode = 3
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -288.0
offset_top = -324.0
offset_right = 288.0
offset_bottom = 324.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 3
size_flags_vertical = 3
[node name="Particles" type="TextureRect" parent="CenterContainer" unique_id=378633537]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -450.0
offset_top = -450.0
offset_right = 450.0
offset_bottom = 450.0
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("ViewportTexture_54ak6")
expand_mode = 1
stretch_mode = 5
[node name="SubViewport" type="SubViewport" parent="CenterContainer/Particles" unique_id=1096007664]
transparent_bg = true
size = Vector2i(900, 900)
[node name="GPUParticles2D" type="CPUParticles2D" parent="CenterContainer/Particles/SubViewport" unique_id=1560379094]
position = Vector2(500, 500)
amount = 20
texture = ExtResource("1_y06tm")
lifetime = 1.2
preprocess = 1.0
spread = 180.0
gravity = Vector2(0, 0)
initial_velocity_min = 2.0
initial_velocity_max = 2.0
linear_accel_min = 5.0
linear_accel_max = 5.0
linear_accel_curve = SubResource("Curve_yho0h")
color_ramp = SubResource("Gradient_rrfqi")
[node name="VendingMachin" type="TextureRect" parent="CenterContainer" unique_id=2108096957]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -322.25
offset_top = -322.25
offset_right = 322.25
offset_bottom = 322.25
grow_horizontal = 2
grow_vertical = 2
texture = SubResource("ViewportTexture_yho0h")
expand_mode = 2
stretch_mode = 5
[node name="VendingMachineVP" type="SubViewport" parent="CenterContainer/VendingMachin" unique_id=824295205]
transparent_bg = true
size = Vector2i(568, 543)
[node name="VendingMachine3d" parent="CenterContainer/VendingMachin/VendingMachineVP" unique_id=92614917 instance=ExtResource("2_54ak6")]
unique_name_in_owner = true
object_1_scene = ExtResource("7_lv3q6")
object_2_scene = ExtResource("6_dhfph")
screen_1_hide = true
screen_2_hide = true
[node name="Camera3D" type="Camera3D" parent="CenterContainer/VendingMachin/VendingMachineVP" unique_id=1303604896]
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0.375, -3)
keep_aspect = 0
current = true
fov = 58.9
[node name="WorldEnvironment" type="WorldEnvironment" parent="CenterContainer/VendingMachin/VendingMachineVP" unique_id=1731409341]
environment = SubResource("Environment_y06tm")
[node name="MachineNameLabel" type="Label" parent="CenterContainer/VendingMachin" unique_id=1373981633]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -66.0
offset_top = -245.0
offset_right = 126.0
offset_bottom = -189.5
grow_horizontal = 2
grow_vertical = 2
text = "ARTEFACTS_VENDING_MACHINE"
label_settings = SubResource("LabelSettings_rrfqi")
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 3
[node name="IndicationLabel" type="Label" parent="CenterContainer/VendingMachin" unique_id=1388081478]
unique_name_in_owner = true
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = 169.0
offset_top = -160.0
offset_right = 266.0
offset_bottom = -37.0
grow_horizontal = 2
grow_vertical = 2
text = "CHOOSE_AN_ITEM"
label_settings = SubResource("LabelSettings_se5lc")
horizontal_alignment = 1
vertical_alignment = 1
autowrap_mode = 3
[node name="SelectButton1" type="Button" parent="CenterContainer/VendingMachin" unique_id=2142322105]
unique_name_in_owner = true
layout_mode = 0
offset_left = 39.25
offset_top = 159.25
offset_right = 176.25
offset_bottom = 250.25
theme = ExtResource("4_se5lc")
theme_override_font_sizes/font_size = 14
text = "SEED_CASE"
flat = true
autowrap_mode = 3
[node name="SelectButton2" type="Button" parent="CenterContainer/VendingMachin" unique_id=65989609]
unique_name_in_owner = true
layout_mode = 0
offset_left = 41.25
offset_top = 273.0
offset_right = 179.25
offset_bottom = 372.25
theme = ExtResource("4_se5lc")
theme_override_font_sizes/font_size = 14
text = "PILE"
flat = true
autowrap_mode = 3
[node name="SelectButtonBis1" type="Button" parent="CenterContainer/VendingMachin" unique_id=741069555]
unique_name_in_owner = true
layout_mode = 0
offset_left = 232.25
offset_top = 161.25
offset_right = 466.25
offset_bottom = 254.25
theme = ExtResource("4_se5lc")
theme_override_font_sizes/font_size = 14
flat = true
autowrap_mode = 3
[node name="SelectButtonBis2" type="Button" parent="CenterContainer/VendingMachin" unique_id=1526377722]
unique_name_in_owner = true
layout_mode = 0
offset_left = 221.25
offset_top = 273.25
offset_right = 465.5
offset_bottom = 377.25
theme = ExtResource("4_se5lc")
theme_override_font_sizes/font_size = 14
flat = true
autowrap_mode = 3
[node name="HBoxContainer" type="HBoxContainer" parent="CenterContainer/VendingMachin" unique_id=190465213]
layout_mode = 0
offset_left = 508.25
offset_top = 320.25
offset_right = 570.25
offset_bottom = 366.25
theme_override_constants/separation = 0
alignment = 1
[node name="PriceLabel" type="Label" parent="CenterContainer/VendingMachin/HBoxContainer" unique_id=1448579465]
layout_mode = 2
text = "3"
label_settings = SubResource("LabelSettings_7iup0")
horizontal_alignment = 1
vertical_alignment = 1
[node name="PriceIcon" type="TextureRect" parent="CenterContainer/VendingMachin/HBoxContainer" unique_id=253690587]
layout_mode = 2
size_flags_horizontal = 3
texture = ExtResource("5_rrfqi")
expand_mode = 1
stretch_mode = 5
[node name="TextureRect" type="TextureRect" parent="CenterContainer/VendingMachin" unique_id=174895788]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = 3.0
offset_top = -298.0
offset_right = 42.0
offset_bottom = -259.0
grow_horizontal = 2
grow_vertical = 2
texture = ExtResource("4_yho0h")
expand_mode = 1
stretch_mode = 5
[node name="FetchButton" type="TextureButton" parent="CenterContainer/VendingMachin" unique_id=986015945]
unique_name_in_owner = true
layout_mode = 0
offset_left = 265.25
offset_top = 478.25
offset_right = 459.25
offset_bottom = 567.25
texture_normal = ExtResource("12_bfufr")
texture_pressed = ExtResource("13_ub0g7")
texture_hover = ExtResource("12_bfufr")
stretch_mode = 5
[node name="PayButton" type="TextureButton" parent="CenterContainer/VendingMachin" unique_id=1470524600]
unique_name_in_owner = true
layout_mode = 0
offset_left = 491.25
offset_top = 400.25
offset_right = 599.25
offset_bottom = 484.25
texture_normal = ExtResource("12_bfufr")
texture_pressed = ExtResource("13_ub0g7")
texture_hover = ExtResource("12_bfufr")
stretch_mode = 5
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=1440649675]
libraries/ = SubResource("AnimationLibrary_dhfph")
autoplay = &"blink"
[connection signal="button_down" from="CenterContainer/VendingMachin/SelectButton1" to="." method="_on_select_button_1_button_down"]
[connection signal="button_down" from="CenterContainer/VendingMachin/SelectButton2" to="." method="_on_select_button_2_button_down"]
[connection signal="button_down" from="CenterContainer/VendingMachin/SelectButtonBis1" to="." method="_on_select_button_bis_1_button_down"]
[connection signal="button_down" from="CenterContainer/VendingMachin/SelectButtonBis2" to="." method="_on_select_button_bis_2_button_down"]
[connection signal="button_down" from="CenterContainer/VendingMachin/FetchButton" to="." method="_on_fetch_button_button_down"]
[connection signal="button_down" from="CenterContainer/VendingMachin/PayButton" to="." method="_on_pay_button_button_down"]

View File

@@ -0,0 +1,62 @@
[gd_scene format=3 uid="uid://blva21dapmm68"]
[ext_resource type="PackedScene" uid="uid://5l3wve81irlc" path="res://gui/vending_machine/assets/3d/vending_machine.blend" id="1_28vvr"]
[ext_resource type="Script" uid="uid://d1prpiulsaqhn" path="res://gui/vending_machine/scripts/vending_machine_3d.gd" id="1_awnyh"]
[ext_resource type="PackedScene" uid="uid://cclvb8o3vofff" path="res://gui/artefacts/seed_case/seed_case.blend" id="2_7ycki"]
[ext_resource type="PackedScene" uid="uid://dolv2637emdbw" path="res://gui/artefacts/pile/pile.blend" id="3_fue4l"]
[sub_resource type="Environment" id="Environment_28vvr"]
ambient_light_source = 2
ambient_light_color = Color(1, 1, 1, 1)
ambient_light_energy = 2.29
tonemap_exposure = 0.62
[sub_resource type="Gradient" id="Gradient_7ycki"]
colors = PackedColorArray(0.06318334, 0.059500005, 0.17, 1, 0.06318334, 0.059500005, 0.17, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_vo550"]
gradient = SubResource("Gradient_7ycki")
height = 42
[node name="VendingMachine3d" type="Node3D" unique_id=92614917]
script = ExtResource("1_awnyh")
object_1_scene = ExtResource("3_fue4l")
object_2_scene = ExtResource("2_7ycki")
screen_1_hide = false
screen_2_hide = false
[node name="Model" parent="." unique_id=2067475525 instance=ExtResource("1_28vvr")]
[node name="Line1" type="Node3D" parent="." unique_id=1631780989]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.30948043, 0.971, 0)
[node name="Line2" type="Node3D" parent="." unique_id=29729480]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.30941665, 0.74758303, 0)
[node name="Line3" type="Node3D" parent="." unique_id=532403895]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.30941665, 0.5122718, 0)
[node name="Line4" type="Node3D" parent="." unique_id=290175423]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.30941665, 0.26622266, 0)
[node name="FallingObjects" type="Node3D" parent="." unique_id=1744524061]
unique_name_in_owner = true
[node name="WorldEnvironment" type="WorldEnvironment" parent="." unique_id=1595767490]
environment = SubResource("Environment_28vvr")
[node name="HideScreen1" type="Sprite3D" parent="." unique_id=1626145809]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.89098024, 0.88590515, -0.55653703)
visible = false
texture = SubResource("GradientTexture2D_vo550")
[node name="HideScreen2" type="Sprite3D" parent="." unique_id=121839387]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.89098024, 0.34462702, -0.55653703)
visible = false
texture = SubResource("GradientTexture2D_vo550")