modification de l'UI en 3D et renommage des particules
This commit is contained in:
Binary file not shown.
BIN
gui/game/energy_info/assets/3d/battery.blend1
Normal file
BIN
gui/game/energy_info/assets/3d/battery.blend1
Normal file
Binary file not shown.
BIN
gui/game/energy_info/assets/3d/screen_battery.blend
Normal file
BIN
gui/game/energy_info/assets/3d/screen_battery.blend
Normal file
Binary file not shown.
68
gui/game/energy_info/assets/3d/screen_battery.blend.import
Normal file
68
gui/game/energy_info/assets/3d/screen_battery.blend.import
Normal file
@@ -0,0 +1,68 @@
|
||||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://b13vhoha7fkr8"
|
||||
path="res://.godot/imported/screen_battery.blend-85248f134ff293ea54a84f3e6477980f.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://gui/game/energy_info/assets/3d/screen_battery.blend"
|
||||
dest_files=["res://.godot/imported/screen_battery.blend-85248f134ff293ea54a84f3e6477980f.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/game/energy_info/assets/3d/screen_battery.blend1
Normal file
BIN
gui/game/energy_info/assets/3d/screen_battery.blend1
Normal file
Binary file not shown.
23
gui/game/energy_info/battery_3d.tscn
Normal file
23
gui/game/energy_info/battery_3d.tscn
Normal file
@@ -0,0 +1,23 @@
|
||||
[gd_scene format=3 uid="uid://c7n8vtfjaalpm"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cgmt80g1322fn" path="res://gui/game/energy_info/scripts/battery_3d.gd" id="1_k6iqj"]
|
||||
[ext_resource type="PackedScene" uid="uid://ddfdj8lb24f6g" path="res://gui/game/energy_info/assets/3d/battery.blend" id="2_trgpr"]
|
||||
[ext_resource type="Texture2D" uid="uid://dlsx1mofjccib" path="res://common/assets/textures/3d_texture.png" id="3_4dn1y"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_0785j"]
|
||||
atlas = ExtResource("3_4dn1y")
|
||||
region = Rect2(16.405571, 12.916401, 7.3732758, 36.0836)
|
||||
|
||||
[node name="Battery" type="Node3D" unique_id=250427516]
|
||||
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 0, 0, 0)
|
||||
script = ExtResource("1_k6iqj")
|
||||
powered = false
|
||||
|
||||
[node name="BatteryModel" parent="." unique_id=2087566235 instance=ExtResource("2_trgpr")]
|
||||
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)
|
||||
centered = false
|
||||
texture = SubResource("AtlasTexture_0785j")
|
||||
@@ -5,7 +5,7 @@
|
||||
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="2_h7p5h"]
|
||||
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="3_c14dn"]
|
||||
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="4_rqwov"]
|
||||
[ext_resource type="PackedScene" uid="uid://ddfdj8lb24f6g" path="res://gui/game/energy_info/assets/3d/battery.blend" id="6_c14dn"]
|
||||
[ext_resource type="PackedScene" uid="uid://d01cp8xl0rme4" path="res://gui/game/energy_info/energy_info_3d.tscn" id="6_tj7lw"]
|
||||
[ext_resource type="Material" uid="uid://cr7bp4fhh1ipr" path="res://entities/player_3d/resources/materials/post_process_quad.tres" id="7_rqwov"]
|
||||
[ext_resource type="Environment" uid="uid://bxyp24f85p0xf" path="res://gui/game/assets/gui_3d_environment.tres" id="8_tj7lw"]
|
||||
|
||||
@@ -29,9 +29,10 @@ stretch_mode = 2
|
||||
|
||||
[node name="IconPlacer" type="MarginContainer" parent="." unique_id=667163887]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 8
|
||||
size_flags_horizontal = 0
|
||||
size_flags_vertical = 0
|
||||
theme_override_constants/margin_top = 13
|
||||
theme_override_constants/margin_left = 23
|
||||
theme_override_constants/margin_top = 58
|
||||
theme_override_constants/margin_right = 20
|
||||
theme_override_constants/margin_bottom = 0
|
||||
|
||||
@@ -45,9 +46,9 @@ stretch_mode = 5
|
||||
[node name="TextPlacer" type="MarginContainer" parent="." unique_id=1669037421]
|
||||
layout_mode = 2
|
||||
size_flags_vertical = 0
|
||||
theme_override_constants/margin_left = 7
|
||||
theme_override_constants/margin_top = 81
|
||||
theme_override_constants/margin_right = 7
|
||||
theme_override_constants/margin_left = 20
|
||||
theme_override_constants/margin_top = 9
|
||||
theme_override_constants/margin_right = 418
|
||||
|
||||
[node name="EnergyCount" type="RichTextLabel" parent="TextPlacer" unique_id=1073572949]
|
||||
unique_name_in_owner = true
|
||||
@@ -58,7 +59,7 @@ theme_override_fonts/bold_font = ExtResource("3_c14dn")
|
||||
theme_override_fonts/bold_italics_font = ExtResource("3_c14dn")
|
||||
theme_override_fonts/italics_font = ExtResource("3_c14dn")
|
||||
theme_override_font_sizes/normal_font_size = 30
|
||||
theme_override_font_sizes/bold_font_size = 70
|
||||
theme_override_font_sizes/bold_font_size = 40
|
||||
bbcode_enabled = true
|
||||
text = "[b]0[/b] / 3"
|
||||
fit_content = true
|
||||
@@ -73,20 +74,22 @@ metadata/_custom_type_script = "uid://0dhj8sdpil7q"
|
||||
[node name="BatteryViewport" type="SubViewport" parent="." unique_id=146346475]
|
||||
own_world_3d = true
|
||||
transparent_bg = true
|
||||
size = Vector2i(144, 184)
|
||||
size = Vector2i(529, 190)
|
||||
|
||||
[node name="battery" parent="BatteryViewport" unique_id=1405747982 instance=ExtResource("6_c14dn")]
|
||||
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 0, 0, 0)
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="BatteryViewport" unique_id=328545179]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.2918096, -0.38356447, 0)
|
||||
current = true
|
||||
fov = 39.9
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="BatteryViewport" unique_id=1467847837]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 2.8120923, -0.4413929, 0)
|
||||
mesh = SubResource("QuadMesh_tj7lw")
|
||||
surface_material_override/0 = ExtResource("7_rqwov")
|
||||
[node name="EnergyInfo3d" parent="BatteryViewport" unique_id=1798644168 instance=ExtResource("6_tj7lw")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.918, 2)
|
||||
max_energy = 3
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="BatteryViewport" unique_id=1322215759]
|
||||
environment = ExtResource("8_tj7lw")
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="BatteryViewport" unique_id=597830916]
|
||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 15.465, -0.4, 0.1)
|
||||
fov = 10.1
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="BatteryViewport/Camera3D" unique_id=1583578016]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.057, -0.2)
|
||||
mesh = SubResource("QuadMesh_tj7lw")
|
||||
skeleton = NodePath("../..")
|
||||
surface_material_override/0 = ExtResource("7_rqwov")
|
||||
|
||||
16
gui/game/energy_info/energy_info_3d.tscn
Normal file
16
gui/game/energy_info/energy_info_3d.tscn
Normal file
@@ -0,0 +1,16 @@
|
||||
[gd_scene format=3 uid="uid://d01cp8xl0rme4"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d1gwwha7syyo0" path="res://gui/game/energy_info/scripts/energy_info_3d.gd" id="1_6g71k"]
|
||||
[ext_resource type="PackedScene" uid="uid://b13vhoha7fkr8" path="res://gui/game/energy_info/assets/3d/screen_battery.blend" id="1_k4787"]
|
||||
|
||||
[node name="EnergyInfo3d" type="Node3D" unique_id=1798644168]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.917917, 0)
|
||||
script = ExtResource("1_6g71k")
|
||||
max_energy = 8
|
||||
energy = 3
|
||||
|
||||
[node name="screen_battery" parent="." unique_id=1178181269 instance=ExtResource("1_k4787")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.98991156, 0.84792256)
|
||||
|
||||
[node name="Batteries" type="Node3D" parent="." unique_id=170543488]
|
||||
unique_name_in_owner = true
|
||||
17
gui/game/energy_info/scripts/battery_3d.gd
Normal file
17
gui/game/energy_info/scripts/battery_3d.gd
Normal file
@@ -0,0 +1,17 @@
|
||||
@tool
|
||||
extends Node3D
|
||||
class_name Battery3d
|
||||
|
||||
const MAX_BATTERY_GAUGE_SPRITE_SCALE = 1.86
|
||||
|
||||
@export var powered : bool = true : set = set_powered
|
||||
|
||||
func _ready():
|
||||
set_powered()
|
||||
|
||||
func set_powered(_powered : bool = powered):
|
||||
var old_powered = powered
|
||||
powered = _powered
|
||||
if is_node_ready() and old_powered != powered:
|
||||
var tween : Tween = get_tree().create_tween()
|
||||
tween.tween_property(%NonPoweredBatteryGauge, "scale:y", 0. if powered else MAX_BATTERY_GAUGE_SPRITE_SCALE, 0.3)
|
||||
1
gui/game/energy_info/scripts/battery_3d.gd.uid
Normal file
1
gui/game/energy_info/scripts/battery_3d.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cgmt80g1322fn
|
||||
@@ -23,5 +23,7 @@ func update(
|
||||
|
||||
# if with_animation:
|
||||
# %EnergyAnimationPlayer.bounce()
|
||||
%EnergyInfo3d.energy = energy
|
||||
%EnergyInfo3d.max_energy = max_energy
|
||||
%EnergyCount.text = energy_count_text
|
||||
%EnergyCount.modulate = Color.WHITE if energy > 0 else Color.RED
|
||||
38
gui/game/energy_info/scripts/energy_info_3d.gd
Normal file
38
gui/game/energy_info/scripts/energy_info_3d.gd
Normal file
@@ -0,0 +1,38 @@
|
||||
@tool
|
||||
extends Node3D
|
||||
|
||||
const BATTERY_SCENE = preload("res://gui/game/energy_info/battery_3d.tscn")
|
||||
const BATTERY_SHIFT = Vector3(0,0,-1)
|
||||
|
||||
@export var max_energy : int = 0 : set = set_max_energy
|
||||
@export var energy : int = 0 : set = set_energy
|
||||
|
||||
func _ready():
|
||||
set_max_energy()
|
||||
|
||||
func set_max_energy(_max_energy : int = max_energy):
|
||||
var old = max_energy
|
||||
max_energy = _max_energy
|
||||
if is_node_ready() and max_energy != len(%Batteries.get_children()):
|
||||
for c in %Batteries.get_children():
|
||||
c.queue_free()
|
||||
|
||||
for i in range(max_energy):
|
||||
var new_battery := BATTERY_SCENE.instantiate() as Battery3d
|
||||
%Batteries.add_child(new_battery)
|
||||
new_battery.position = BATTERY_SHIFT * i
|
||||
|
||||
await get_tree().create_timer(0.1).timeout
|
||||
set_energy()
|
||||
|
||||
func set_energy(_energy : int = energy):
|
||||
energy = _energy
|
||||
if is_node_ready():
|
||||
var energy_count = 0
|
||||
for battery in %Batteries.get_children():
|
||||
if not battery.is_node_ready():
|
||||
await battery.ready
|
||||
if battery is Battery3d:
|
||||
battery.powered = energy_count < energy
|
||||
print(battery.powered)
|
||||
energy_count += 1
|
||||
1
gui/game/energy_info/scripts/energy_info_3d.gd.uid
Normal file
1
gui/game/energy_info/scripts/energy_info_3d.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://d1gwwha7syyo0
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user