Dev pour la beta 1.4

* Changements de la texture des cristaux de Talion dans tous les assets 3D pour correspondre aux assets 2D
* Ajout d'un évenement en fin de région, une résurgence de Talion qui décontamine et fait looter les plantes mature aux alentours
* Ajout d'un path finding sur le mouvement du robot
* Modification du flow des actions à la souris : ajout d'un nouveau son, d'un icône à l'emplacement de l'action
* Modification du nombre et de l'ordre de mutation débloquées
* Augmentation de la valeur maximale de zoom
* Modification des scores à atteindre dans les premières régions
* Modification de l'interface du vaisseau, laissant apparaitre une roadmap plus claire, et laissant inspecter l'inventaire actuel
* Modification de l'icône d'action dans les scènes 3D
* Augmentation de la zone d'écart entre les plantes, et augmentation du taux de zone fertile en conséquence
* La station de recharge devient inutilisable après la fin de la région
* Ajout d'une transparence lors de la sélection d'objets derrières d'autres objets
* Les plantes juvéniles donneront toujours une graine si coupées
* Ajout d'un bouclage sur les couleurs des mutations
* Fix des hitbox des plantes pour l'inspection à la souris
* Fix de plusieurs bugs sur la manipulation de l'inventaire
* Ajout de nombreux screenshots d'utilisation des outils lors du tutoriel
* Amélioration mineure de la traduction/wording
This commit is contained in:
2026-05-17 02:29:55 +02:00
parent 73b0bf2d33
commit 8efe8bce36
126 changed files with 1955 additions and 463 deletions

Binary file not shown.

View File

@@ -39,6 +39,11 @@ materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"Cristal": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/cristal.tres",
"use_external/path": "uid://di0m3uqgi3l08"
},
"Default3D": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",

Binary file not shown.

View File

@@ -86,7 +86,7 @@ environment = SubResource("Environment_x7awc")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.124447, 2.974639, 1.201046)
omni_range = 16.327286
[node name="CaveModel" parent="." unique_id=741350561 instance=ExtResource("2_xlbt6")]
[node name="CaveModel" parent="." unique_id=532031355 instance=ExtResource("2_xlbt6")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.573945, 0, 1.5022337)
[node name="OmniLight3D" type="OmniLight3D" parent="CaveModel" unique_id=2145888223]

View File

@@ -4,12 +4,13 @@ class_name Cave
func _ready():
if not Engine.is_editor_hint():
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
setup_room(10)
func setup_room(door_id : int):
var rng := RandomNumberGenerator.new()
rng.seed = door_id
%Cristal.rotate_y(rng.randf_range(-PI,PI))
%Cristal.broken.connect(
func ():
GameInfo.game_data.current_region_data.completed_doors.append(door_id)

View File

@@ -0,0 +1,60 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://jj7k5r4b1xme"
path="res://.godot/imported/windshield.blend-40cb486363267d9c774e89c6eeb0dbdf.scn"
[deps]
source_file="res://stages/3d_scenes/cockpit_scene/assets/3d/windshield.blend"
dest_files=["res://.godot/imported/windshield.blend-40cb486363267d9c774e89c6eeb0dbdf.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={}
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

@@ -5,7 +5,6 @@
[ext_resource type="PackedScene" uid="uid://csx7d5khjd6y5" path="res://entities/interactable_3d/phone/phone.tscn" id="3_3b5pk"]
[ext_resource type="Texture2D" uid="uid://dex283rx00fjb" path="res://common/icons/logout.svg" id="3_w4l7d"]
[ext_resource type="PackedScene" uid="uid://by45bbbnf0k13" path="res://gui/game/objective_progress_bar/gauge_3d.tscn" id="4_ers7b"]
[ext_resource type="PackedScene" uid="uid://d01cp8xl0rme4" path="res://gui/game/energy_info/energy_info_3d.tscn" id="6_ogqwl"]
[ext_resource type="PackedScene" uid="uid://jjkw4edrewsk" path="res://stages/3d_scenes/cockpit_scene/assets/3d/furnitures/closet.blend" id="7_lnpag"]
[ext_resource type="PackedScene" uid="uid://cv0ehgy3d1kmj" path="res://stages/3d_scenes/cockpit_scene/cockpit_elements/dashboard.tscn" id="8_seqvk"]
[ext_resource type="PackedScene" uid="uid://cgw2ct7smispo" path="res://stages/3d_scenes/cockpit_scene/cockpit_elements/shelf.tscn" id="11_w4l7d"]
@@ -122,9 +121,9 @@ shape = SubResource("BoxShape3D_ctvhk")
[node name="Player3D" parent="." unique_id=549819967 instance=ExtResource("13_a2cx2")]
unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 0, 0, 3.2830403)
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -0.00043085217, 0, 3.283195)
[node name="CockpitModel" parent="." unique_id=825141342 instance=ExtResource("17_omtjc")]
[node name="CockpitModel" parent="." unique_id=1122480479 instance=ExtResource("17_omtjc")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.04904175e-05, 0.0026242882, 4.4822693e-05)
[node name="Phone" parent="." unique_id=429299908 instance=ExtResource("3_3b5pk")]
@@ -134,14 +133,9 @@ interactable = false
[node name="Gauge3D" parent="." unique_id=232507348 instance=ExtResource("4_ers7b")]
unique_name_in_owner = true
transform = Transform3D(-0.070710674, 0.07071066, -4.864633e-09, 8.7422745e-09, 2.199196e-30, -0.09999998, -0.070710674, -0.07071066, -7.4988105e-09, 0.9122916, -0.51005816, 5.5039926)
transform = Transform3D(-0.070710674, 0.07071066, -4.864633e-09, 8.7422745e-09, 2.199196e-30, -0.09999998, -0.070710674, -0.07071066, -7.4988105e-09, 1.1546884, -0.51005816, 5.135547)
progress = 1.085
[node name="EnergyInfo3d" parent="." unique_id=1798644168 instance=ExtResource("6_ogqwl")]
unique_name_in_owner = true
transform = Transform3D(0.23, 0, 0, 0, 0.23, 0, 0, 0, 0.23, -1.2449384, -0.8972735, 5.2538967)
max_energy = 3
[node name="Furnitures" type="Node3D" parent="." unique_id=1095424400]
[node name="ClosetR" parent="Furnitures" unique_id=1358386607 instance=ExtResource("7_lnpag")]
@@ -152,7 +146,7 @@ transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, 1.13
[node name="Dashboard" parent="." unique_id=1374334508 instance=ExtResource("8_seqvk")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.035136223, -0.7094687, 6.45286)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.035136223, -0.7094687, 6.1824927)
[node name="Shelf" parent="." unique_id=1769159984 instance=ExtResource("11_w4l7d")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.1218804, -1.0799314, 2.6211417)

View File

@@ -1,8 +1,8 @@
[gd_scene format=3 uid="uid://cv0ehgy3d1kmj"]
[ext_resource type="Script" uid="uid://fet6urfgiiwr" path="res://stages/3d_scenes/cockpit_scene/cockpit_elements/scripts/dashboard.gd" id="1_vks67"]
[ext_resource type="PackedScene" uid="uid://cnx1xwc4uupmc" path="res://stages/3d_scenes/cockpit_scene/cockpit_elements/travel_screen/topology_content.tscn" id="2_lskho"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="3_g7q16"]
[ext_resource type="PackedScene" uid="uid://cs5gir1u8jbrg" path="res://stages/3d_scenes/cockpit_scene/cockpit_elements/holo_content.tscn" id="3_go2gd"]
[ext_resource type="LabelSettings" uid="uid://dqwayi8yjwau2" path="res://gui/ressources/title_label_settings.tres" id="4_7u0n5"]
[ext_resource type="Script" uid="uid://biqgucg78cx44" path="res://stages/3d_scenes/cockpit_scene/cockpit_elements/scripts/dashboard_main_screen.gd" id="4_vks67"]
[ext_resource type="Script" uid="uid://ccb06rayqowp3" path="res://stages/terrain/region/scripts/modifiers/region_modifier.gd" id="5_7u0n5"]
@@ -16,9 +16,29 @@
[ext_resource type="PackedScene" uid="uid://crbjmwumboelw" path="res://gui/game/inventory_gui/inventory_3d.tscn" id="10_y1ysr"]
[ext_resource type="Script" uid="uid://bq7admu4ahs5r" path="res://entities/player/inventory/scripts/item.gd" id="11_3cel1"]
[ext_resource type="Script" uid="uid://fnu2d6wna4yc" path="res://entities/player/inventory/scripts/inventory.gd" id="12_oix5e"]
[ext_resource type="PackedScene" uid="uid://dj4u5grx00ky1" path="res://stages/3d_scenes/cockpit_scene/cockpit_elements/travel_screen/travel_screen_content.tscn" id="17_emtfq"]
[ext_resource type="PackedScene" uid="uid://d01cp8xl0rme4" path="res://gui/game/energy_info/energy_info_3d.tscn" id="17_lskho"]
[sub_resource type="ViewportTexture" id="ViewportTexture_cvt2p"]
viewport_path = NodePath("Holo/SubViewport")
[sub_resource type="ViewportTexture" id="ViewportTexture_v1m0r"]
viewport_path = NodePath("Background/SubViewport")
[sub_resource type="Gradient" id="Gradient_psxhb"]
interpolation_mode = 1
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_y1ysr"]
gradient = SubResource("Gradient_psxhb")
width = 400
height = 400
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(1, 0.5)
[sub_resource type="ViewportTexture" id="ViewportTexture_psxhb"]
viewport_path = NodePath("Topology/SubViewport")
[sub_resource type="ViewportTexture" id="ViewportTexture_lskho"]
viewport_path = NodePath("TravelScreen/SubViewport")
[sub_resource type="ViewportTexture" id="ViewportTexture_5d7hc"]
viewport_path = NodePath("StatusScreen/SubViewport")
@@ -179,33 +199,48 @@ metadata/_custom_type_script = "uid://fnu2d6wna4yc"
[node name="Dashboard" type="Node3D" unique_id=1374334508]
script = ExtResource("1_vks67")
destination_title = "TO_BOREA_BASE"
[node name="Holo" type="Sprite3D" parent="." unique_id=1067303692]
unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1.0000002, 0, 8.742278e-08, 0, -1, 0, 0.91157264, 0.33655214)
[node name="Background" type="Sprite3D" parent="." unique_id=747271324]
transform = Transform3D(-1, 0, 8.742278e-08, 5.2901907e-08, 0.79612875, 0.6051273, -6.9599785e-08, 0.6051273, -0.79612875, 0, 0.85765254, 1.1502768)
pixel_size = 0.004
texture = SubResource("ViewportTexture_cvt2p")
texture = SubResource("ViewportTexture_v1m0r")
[node name="SubViewport" type="SubViewport" parent="Holo" unique_id=471832787]
[node name="SubViewport" type="SubViewport" parent="Background" unique_id=1285367140]
disable_3d = true
transparent_bg = true
size = Vector2i(365, 68)
size = Vector2i(500, 500)
[node name="HoloContent" parent="Holo/SubViewport" unique_id=668915500 instance=ExtResource("3_go2gd")]
[node name="Circle" type="Sprite2D" parent="Background/SubViewport" unique_id=204541212]
modulate = Color(0.0627451, 0.05882353, 0.16862746, 1)
position = Vector2(250, 250)
texture = SubResource("GradientTexture2D_y1ysr")
[node name="Topology" type="Sprite3D" parent="." unique_id=555628624]
transform = Transform3D(-1, 0, 8.742278e-08, 5.2901907e-08, 0.79612875, 0.6051273, -6.9599785e-08, 0.6051273, -0.79612875, 0, 0.8662406, 1.012941)
pixel_size = 0.004
texture = SubResource("ViewportTexture_psxhb")
[node name="SubViewport" type="SubViewport" parent="Topology" unique_id=610507336]
disable_3d = true
transparent_bg = true
size = Vector2i(500, 500)
[node name="TopologyContent" parent="Topology/SubViewport" unique_id=1478734478 instance=ExtResource("2_lskho")]
unique_name_in_owner = true
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -162.0
offset_top = -28.0
offset_right = 162.0
offset_bottom = 28.0
grow_horizontal = 2
grow_vertical = 2
stop_name = ""
[node name="TravelScreen" type="Sprite3D" parent="." unique_id=1605384571]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, 0, 0.7866177, 0.5924386)
pixel_size = 0.002
texture = SubResource("ViewportTexture_lskho")
[node name="SubViewport" type="SubViewport" parent="TravelScreen" unique_id=1413693044]
disable_3d = true
transparent_bg = true
size = Vector2i(1000, 512)
[node name="TravelScreenContent" parent="TravelScreen/SubViewport" unique_id=1386845472 instance=ExtResource("17_emtfq")]
unique_name_in_owner = true
current_position = 4.0
[node name="StatusScreen" type="Sprite3D" parent="." unique_id=1257606535]
unique_name_in_owner = true
@@ -246,7 +281,6 @@ icon = NodePath("MainScreenSprite/SubViewport/VBoxContainer/MainScreenIcon")
label = NodePath("MainScreenSprite/SubViewport/VBoxContainer/MainScreenLabel")
run_point = SubResource("Resource_psxhb")
interactable = false
inspectable = true
hover_animation_player = NodePath("HoverAnimationPlayer")
metadata/_custom_type_script = "uid://bj4d1x8n8ina"
@@ -410,6 +444,13 @@ libraries/ = SubResource("AnimationLibrary_cvt2p")
[node name="Inventory3D" parent="." unique_id=810532522 instance=ExtResource("10_y1ysr")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 8.940697e-08, 0, 1, 0, -8.940697e-08, 0, 1, 0, 0.5876103, 0.89364576)
transform = Transform3D(0.42250758, 0, -0.90635943, 0, 1, 0, 0.90635943, 0, 0.42250758, -1.1253021, 0.4732105, -0.4411707)
no_tools = true
test_inventory = SubResource("Resource_ne0dp")
[node name="EnergyInfo3d" parent="." unique_id=1798644168 instance=ExtResource("17_lskho")]
unique_name_in_owner = true
transform = Transform3D(-0.12115031, 0, 0.047144443, 0, 0.12999998, 0, -0.047144443, 0, -0.12115031, 1.1126381, 0.41387832, -0.35765195)
max_energy = 3
[node name="MeshInstance3D" type="MeshInstance3D" parent="." unique_id=316569967]

View File

@@ -2,25 +2,18 @@
extends Node3D
class_name Dashboard
const PLANET_3D_HOLO_RADIUS = 1.3
const PLANET_3D_HOLO_ARROW_SIZE = 0.3
const LAND_ICON = preload("res://common/icons/arrow-narrow-down.svg")
const GROWTH_ICON = preload("res://common/icons/growth.svg")
const CHARGE_ICON = preload("res://common/icons/bolt.svg")
const TOPOLOGY_SPEED = 5000.
signal main_screen_activated
signal right_screen_activated
signal left_screen_activated
@export var run_data : RunData
@export var in_space : bool
@export var main_screen_state : DashboardMainScreen.State : set = set_main_screen_state
@export var main_screen_run_point : RunPoint : set = set_main_screen_run_point
@export var stop_name : String : set = set_stop_label
@export var stop_title : String : set = set_stop_title_label
@export var destination_distance : int
@export var destination_title : String : set = set_destination_title
@export var status_text : String : set = set_status_text
@export var left_stop : RunPoint = null : set = set_left_stop
@@ -31,25 +24,35 @@ func _ready():
%RightScreen.clicked.connect(func(): right_screen_activated.emit())
%LeftScreen.clicked.connect(func(): left_screen_activated.emit())
set_main_screen_state()
set_main_screen_run_point()
set_stop_label()
set_stop_title_label()
set_destination_title()
set_status_text()
set_left_stop()
set_right_stop()
%HoloContent.distance = destination_distance
if not Engine.is_editor_hint() and GameInfo.game_data.player_data:
%Inventory3D.update(GameInfo.game_data.player_data.inventory)
%EnergyInfo3d.energy = GameInfo.game_data.player_data.energy
%EnergyInfo3d.max_energy = GameInfo.game_data.player_data.max_energy
func update_travel_screen(with_animation = true):
if is_node_ready():
var current_position = run_data.level + (0.5 if in_space else 0.)
%TravelScreenContent.story_step = run_data.story_step
%TravelScreenContent.current_position = current_position
%TravelScreenContent.update(with_animation)
%TopologyContent.texture.noise.seed = run_data.run_seed
if with_animation:
var topology_tween = create_tween()
topology_tween.set_trans(Tween.TRANS_EXPO)
topology_tween.tween_property(%TopologyContent.texture.noise,"offset:y",-current_position*TOPOLOGY_SPEED, 5.)
else:
%TopologyContent.texture.noise.offset.y = -current_position*TOPOLOGY_SPEED
func _process(_d):
if %HoloContent.distance < destination_distance:
%HoloContent.distance = ceili(lerp(float(%HoloContent.distance), float(destination_distance), 0.05))
else:
%HoloContent.distance = floori(lerp(float(%HoloContent.distance), float(destination_distance), 0.05))
func set_main_screen_state(s := main_screen_state):
main_screen_state = s
@@ -61,22 +64,6 @@ func set_main_screen_run_point(rp := main_screen_run_point):
if is_node_ready():
%MainScreen.run_point = rp
func set_stop_label(v := stop_name):
stop_name = v
if is_node_ready():
%HoloContent.stop_name = v
func set_stop_title_label(v := stop_title):
stop_title = v
if is_node_ready():
%HoloContent.stop_title = v
func set_destination_title(v := destination_title):
destination_title = v
if is_node_ready():
%HoloContent.destination = v
func set_status_text(v := status_text):
status_text = v
if is_node_ready():
@@ -91,4 +78,4 @@ func set_right_stop(v := right_stop):
right_stop = v
if is_node_ready():
%RightScreen.run_point = right_stop

View File

@@ -0,0 +1,87 @@
@tool
extends Node2D
class_name TravelScreenContent
const SHIP_ICON = preload("res://common/icons/rocket.svg")
const START_ICON = preload("res://common/icons/device-floppy.svg")
const REGION_ICON = preload("res://common/icons/globe.svg")
const DESTINATION_ICON = preload("res://common/icons/flag-2.svg")
const PREVIOUS_COLOR = Color("2364AAAA")
const CURRENT_COLOR = Color("e29f32")
const NEXT_COLOR = Color("96B3DB")
const WIDTH = 800
const V_DIST = 50
@export_tool_button("Update", "Callable") var update_action = update
@export var current_position : float = 0
@export var story_step : StoryStep
func _ready():
update()
var ship_icon : Sprite2D
func update(with_animation := true):
if is_node_ready() and story_step:
if ship_icon and with_animation:
var tween = create_tween()
tween.set_trans(Tween.TRANS_SPRING)
tween.tween_property(ship_icon,"position",coord_to_pos(Vector2(current_position, 1)),5.)
await tween.finished
for c in %Icons.get_children():
c.queue_free()
for i in range(get_step_number()):
print("showing %d" % i)
var icon = REGION_ICON
if i == 0:
icon = START_ICON
elif i == get_step_number() - 1:
icon = DESTINATION_ICON
var color = NEXT_COLOR
if i < current_position:
color = PREVIOUS_COLOR
elif i == current_position:
color = CURRENT_COLOR
var modifiers := story_step.get_story_modifiers_for_region(i)
modifiers.append_array(story_step.get_gameplay_modifiers_for_region(i))
for m_i in range(len(modifiers)):
spawn_icon(modifiers[m_i].get_icon(), Vector2(i,-m_i - 1),color, 0.7)
print(modifiers)
spawn_icon(icon, Vector2(i,0),color)
ship_icon = spawn_icon(SHIP_ICON, Vector2(current_position, 1), CURRENT_COLOR, 1)
func spawn_icon(texture : Texture, coord := Vector2.ZERO, color := Color.WHITE, scaling := 1.) -> Sprite2D:
var new_icon = Sprite2D.new()
new_icon.texture = texture
new_icon.modulate = color
new_icon.scale = Vector2.ONE * scaling
%Icons.add_child(new_icon)
new_icon.position = coord_to_pos(coord)
return new_icon
func get_step_number() -> int:
if story_step:
return story_step.get_region_sequence_length()
return 0
func coord_to_pos(coord : Vector2) -> Vector2:
var h_dist = WIDTH / (get_step_number() + 2.)
return Vector2(
coord.x * h_dist - float(get_step_number())/2 * h_dist + h_dist/2.,
coord.y * V_DIST,
)

View File

@@ -0,0 +1,41 @@
[gd_scene format=3 uid="uid://cnx1xwc4uupmc"]
[ext_resource type="Shader" uid="uid://bklafn6ulmkij" path="res://common/vfx/materials/shaders/topology_map.gdshader" id="1_5gx2n"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_y1ysr"]
shader = ExtResource("1_5gx2n")
shader_parameter/line_number = 6.0
shader_parameter/line_color = Color(0.13725491, 0.39215687, 0.6666667, 1)
shader_parameter/line_thickness = 0.002000000095
[sub_resource type="FastNoiseLite" id="FastNoiseLite_psxhb"]
noise_type = 2
fractal_octaves = 3
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_3cel1"]
width = 500
height = 500
noise = SubResource("FastNoiseLite_psxhb")
[sub_resource type="Gradient" id="Gradient_v1m0r"]
interpolation_mode = 1
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_5gx2n"]
gradient = SubResource("Gradient_v1m0r")
width = 400
height = 400
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(1, 0.5)
[node name="TopologyContent" type="Polygon2D" unique_id=1478734478]
material = SubResource("ShaderMaterial_y1ysr")
texture = SubResource("NoiseTexture2D_3cel1")
polygon = PackedVector2Array(283, 51, 242, 50, 190, 58, 137, 83, 107, 110, 81, 142, 59, 189, 50, 233, 53, 284, 69, 334, 92, 373, 129, 410, 168, 432, 219, 449, 268, 449, 303, 445, 351, 423, 383, 400, 414, 365, 437, 323, 451, 266, 449, 229, 444, 200, 422, 147, 394, 109, 350, 75, 316, 59)
[node name="Circle" type="Sprite2D" parent="." unique_id=1114259574]
visible = false
z_index = -1
position = Vector2(250, 250)
texture = SubResource("GradientTexture2D_5gx2n")

View File

@@ -0,0 +1,11 @@
[gd_scene format=3 uid="uid://dj4u5grx00ky1"]
[ext_resource type="Script" uid="uid://r1gn83h8re8m" path="res://stages/3d_scenes/cockpit_scene/cockpit_elements/travel_screen/scripts/travel_screen_content.gd" id="1_u6tks"]
[node name="TravelScreenContent" type="Node2D" unique_id=1386845472]
position = Vector2(500, 256)
script = ExtResource("1_u6tks")
current_position = 2.0
[node name="Icons" type="Node2D" parent="." unique_id=1787603855]
unique_name_in_owner = true

View File

@@ -23,10 +23,7 @@ func _ready():
else (float(region_data.get_score()) / max(float(region_data.objective), 1))
)
%EnergyInfo3d.energy = GameInfo.game_data.player_data.energy
%EnergyInfo3d.max_energy = GameInfo.game_data.player_data.max_energy
update_dashboard()
update_dashboard(false)
dashboard.main_screen_activated.connect(_on_main_screen_activated)
dashboard.left_screen_activated.connect(_on_left_screen_activated)
@@ -140,18 +137,14 @@ func _on_exit_clicked():
exiting = true
SceneManager.change_to_scene(RegionScene.new(GameInfo.game_data.current_region_data))
func update_dashboard():
func update_dashboard(with_animation := true):
var current_region_data = GameInfo.game_data.current_region_data
var current_run = GameInfo.game_data.current_run
if current_run.is_finished():
dashboard.destination_distance = 0
else:
dashboard.destination_distance = (
current_run.get_progress() * 1000
)
dashboard.destination_title = current_run.story_step.get_destination_text()
dashboard.run_data = current_run
dashboard.in_space = GameInfo.game_data.ship_in_space
dashboard.update_travel_screen(with_animation)
var can_take_off : bool = (
not current_run.is_finished()
@@ -165,15 +158,10 @@ func update_dashboard():
if GameInfo.game_data.ship_in_space:
if choosen_run_point:
dashboard.main_screen_state = DashboardMainScreen.State.READY_TO_LAND
dashboard.stop_title = tr("NEXT_STOP")
dashboard.stop_name = choosen_run_point.region_parameter.region_name
dashboard.status_text = ""
else:
dashboard.main_screen_state = DashboardMainScreen.State.WAITING_CHOICE
dashboard.stop_title = ""
dashboard.stop_name = tr("ORBIT")
dashboard.status_text = tr("CHOOSE_NEXT_STOP")
dashboard.stop_name = ""
if GameInfo.game_data.current_run:
var next_run_points = GameInfo.game_data.current_run.next_run_points
@@ -198,11 +186,5 @@ func update_dashboard():
dashboard.left_stop = null
dashboard.right_stop = null
if current_region_data:
dashboard.stop_title = tr("LOCATION")
dashboard.stop_name = current_region_data.region_name
func _on_orchid_saver_clicked():
GameInfo.game_data.give_up()