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:
BIN
gui/vending_machine/assets/3d/vending_machine.blend
Normal file
BIN
gui/vending_machine/assets/3d/vending_machine.blend
Normal file
Binary file not shown.
68
gui/vending_machine/assets/3d/vending_machine.blend.import
Normal file
68
gui/vending_machine/assets/3d/vending_machine.blend.import
Normal 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
|
||||
BIN
gui/vending_machine/assets/3d/vending_machine.blend1
Normal file
BIN
gui/vending_machine/assets/3d/vending_machine.blend1
Normal file
Binary file not shown.
88
gui/vending_machine/scripts/vending_machine.gd
Normal file
88
gui/vending_machine/scripts/vending_machine.gd
Normal 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
|
||||
1
gui/vending_machine/scripts/vending_machine.gd.uid
Normal file
1
gui/vending_machine/scripts/vending_machine.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://d4jf1hruxqe6f
|
||||
109
gui/vending_machine/scripts/vending_machine_3d.gd
Normal file
109
gui/vending_machine/scripts/vending_machine_3d.gd
Normal 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
|
||||
|
||||
1
gui/vending_machine/scripts/vending_machine_3d.gd.uid
Normal file
1
gui/vending_machine/scripts/vending_machine_3d.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://d1prpiulsaqhn
|
||||
399
gui/vending_machine/vending_machine.tscn
Normal file
399
gui/vending_machine/vending_machine.tscn
Normal 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"]
|
||||
62
gui/vending_machine/vending_machine_3d.tscn
Normal file
62
gui/vending_machine/vending_machine_3d.tscn
Normal 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")
|
||||
Reference in New Issue
Block a user