ajout de la porte et équilibrage des mutations
This commit is contained in:
@@ -4,10 +4,11 @@
|
||||
[ext_resource type="PackedScene" uid="uid://oktd71knql00" path="res://gui/game/inventory_gui/assets/3d/item_screen.blend" id="2_1uxm0"]
|
||||
[ext_resource type="Texture2D" uid="uid://dex283rx00fjb" path="res://common/icons/logout.svg" id="2_hv1tg"]
|
||||
[ext_resource type="Script" uid="uid://bq7admu4ahs5r" path="res://entities/player/inventory/scripts/item.gd" id="3_ixa47"]
|
||||
[ext_resource type="Texture2D" uid="uid://cgmxjom200bej" path="res://common/icons/chevrons-up.svg" id="5_g1uf8"]
|
||||
[ext_resource type="Texture2D" uid="uid://ds4m14vl7he6v" path="res://common/icons/pick.svg" id="6_jdjjl"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_g1uf8"]
|
||||
script = ExtResource("3_ixa47")
|
||||
icon = ExtResource("2_hv1tg")
|
||||
metadata/_custom_type_script = "uid://bq7admu4ahs5r"
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_ixa47"]
|
||||
@@ -53,18 +54,21 @@ item = SubResource("Resource_g1uf8")
|
||||
[node name="BlackScreen" type="Sprite3D" parent="." unique_id=1828017914]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.08962244)
|
||||
transparent = false
|
||||
texture = SubResource("GradientTexture2D_g1uf8")
|
||||
|
||||
[node name="ItemScreen" type="Sprite3D" parent="." unique_id=1128109703]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.08962244)
|
||||
visible = false
|
||||
transparent = false
|
||||
texture = SubResource("GradientTexture2D_jdjjl")
|
||||
|
||||
[node name="ToolScreen" type="Sprite3D" parent="." unique_id=1384339729]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.08962244)
|
||||
visible = false
|
||||
transparent = false
|
||||
texture = SubResource("GradientTexture2D_gj8fm")
|
||||
|
||||
[node name="ItemIconSprite" type="Sprite3D" parent="." unique_id=1279203709]
|
||||
@@ -74,6 +78,18 @@ modulate = Color(1, 1, 1, 0.3)
|
||||
pixel_size = 0.0020833334
|
||||
texture = ExtResource("2_hv1tg")
|
||||
|
||||
[node name="ParticleSprite1" type="Sprite3D" parent="." unique_id=811884632]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.04235574, -0.03381054, -0.105405755)
|
||||
pixel_size = 0.001
|
||||
texture = ExtResource("5_g1uf8")
|
||||
|
||||
[node name="ParticleSprite2" type="Sprite3D" parent="." unique_id=1076243108]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.042, -0.034, -0.105)
|
||||
pixel_size = 0.001
|
||||
texture = ExtResource("6_jdjjl")
|
||||
|
||||
[node name="Area3D" type="Area3D" parent="." unique_id=426596211]
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Area3D" unique_id=2020875183]
|
||||
|
||||
@@ -19,11 +19,28 @@ func _ready():
|
||||
func set_item(i : Item = item):
|
||||
item = i
|
||||
if is_node_ready():
|
||||
%ParticleSprite1.visible = false
|
||||
%ParticleSprite2.visible = false
|
||||
%ParticleSprite1.modulate = Color.WHITE
|
||||
%ParticleSprite2.modulate = Color.WHITE
|
||||
%ItemIconSprite.texture = null
|
||||
|
||||
if i and i.icon:
|
||||
%ItemIconSprite.texture = i.icon
|
||||
%ItemIconSprite.pixel_size = SPRITE_SIZE / i.icon.get_width()
|
||||
else:
|
||||
%ItemIconSprite.texture = null
|
||||
|
||||
for j in range(len(i.get_particles())):
|
||||
print(i.get_particles()[j])
|
||||
if j == 0:
|
||||
%ParticleSprite1.visible = true
|
||||
%ParticleSprite1.texture = i.get_particles()[j].texture
|
||||
%ParticleSprite1.modulate = i.get_particles()[j].color
|
||||
if j == 1:
|
||||
%ParticleSprite2.visible = true
|
||||
%ParticleSprite2.texture = i.get_particles()[j].texture
|
||||
%ParticleSprite2.modulate = i.get_particles()[j].color
|
||||
|
||||
|
||||
|
||||
func set_state(s := state):
|
||||
state = s
|
||||
|
||||
@@ -8,6 +8,8 @@ const SEPARATOR_SIZE = 0.1
|
||||
@export var inventory_item_scene: PackedScene
|
||||
@export var bar: TextureRect
|
||||
|
||||
@export var no_tools : bool = false
|
||||
|
||||
@export var test_inventory : Inventory
|
||||
|
||||
var last_n_tools = -1
|
||||
@@ -21,20 +23,26 @@ func _ready():
|
||||
update(GameInfo.game_data.player_data.inventory)
|
||||
|
||||
func update(inventory : Inventory):
|
||||
if len(inventory.items) != len(inventory_item_objects) or last_n_tools != inventory.n_tools:
|
||||
|
||||
var items = inventory.items
|
||||
if no_tools:
|
||||
items = items.slice(inventory.n_tools, len(items))
|
||||
|
||||
if len(items) != len(inventory_item_objects) or last_n_tools != inventory.n_tools:
|
||||
create_inventory_objects(inventory)
|
||||
for i in range(len(inventory.items)):
|
||||
var item : Item= inventory.items[i]
|
||||
for i in range(len(items)):
|
||||
var item : Item= items[i]
|
||||
var object : InventoryItem3D = inventory_item_objects[i]
|
||||
object.item = inventory.items[i]
|
||||
object.item = items[i]
|
||||
|
||||
if inventory.current_item_ind == i:
|
||||
object.state = (
|
||||
InventoryItem3D.State.TOOL if i < inventory.n_tools
|
||||
else InventoryItem3D.State.ITEM
|
||||
)
|
||||
else:
|
||||
object.state = InventoryItem3D.State.BLACK
|
||||
if not no_tools:
|
||||
if inventory.current_item_ind == i:
|
||||
object.state = (
|
||||
InventoryItem3D.State.TOOL if i < inventory.n_tools
|
||||
else InventoryItem3D.State.ITEM
|
||||
)
|
||||
else:
|
||||
object.state = InventoryItem3D.State.BLACK
|
||||
|
||||
|
||||
func create_inventory_objects(inventory : Inventory):
|
||||
@@ -44,19 +52,29 @@ func create_inventory_objects(inventory : Inventory):
|
||||
|
||||
inventory_item_objects = []
|
||||
|
||||
for i in range(len(inventory.items)):
|
||||
var items = inventory.items
|
||||
if no_tools:
|
||||
items = items.slice(inventory.n_tools, len(items))
|
||||
|
||||
for i in range(len(items)):
|
||||
var new_inventory_object := (inventory_item_scene.instantiate() as InventoryItem3D)
|
||||
%Items3D.add_child(new_inventory_object)
|
||||
new_inventory_object.position.x = -INVENTORY_OBJECT_SIZE * i
|
||||
if i >= inventory.n_tools:
|
||||
if i >= inventory.n_tools and not no_tools:
|
||||
new_inventory_object.position.x -= SEPARATOR_SIZE
|
||||
inventory_item_objects.append(new_inventory_object)
|
||||
|
||||
%Items3D.position.x = (
|
||||
(len(inventory_item_objects) - 1) * INVENTORY_OBJECT_SIZE + SEPARATOR_SIZE
|
||||
) / 2
|
||||
%ItemSeparator.position.x = (
|
||||
%Items3D.position.x
|
||||
- (inventory.n_tools) * INVENTORY_OBJECT_SIZE
|
||||
+ SEPARATOR_SIZE/2
|
||||
)
|
||||
%ItemSeparator.visible = not no_tools
|
||||
if no_tools:
|
||||
%Items3D.position.x = (
|
||||
(len(inventory_item_objects) - 1) * INVENTORY_OBJECT_SIZE
|
||||
) / 2
|
||||
else:
|
||||
%Items3D.position.x = (
|
||||
(len(inventory_item_objects) - 1) * INVENTORY_OBJECT_SIZE + SEPARATOR_SIZE
|
||||
) / 2
|
||||
%ItemSeparator.position.x = (
|
||||
%Items3D.position.x
|
||||
- (inventory.n_tools) * INVENTORY_OBJECT_SIZE
|
||||
+ SEPARATOR_SIZE/2
|
||||
)
|
||||
|
||||
@@ -4,6 +4,7 @@ var pause = false : set = set_pause
|
||||
|
||||
func _ready():
|
||||
hide()
|
||||
Dialogic.timeline_ended.connect(_on_timeline_ended)
|
||||
|
||||
func set_pause(p):
|
||||
if p != pause:
|
||||
@@ -17,7 +18,7 @@ func set_pause(p):
|
||||
%Controls.close_controls()
|
||||
if p :
|
||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
||||
elif SceneManager.actual_scene.mouse_captured:
|
||||
elif SceneManager.actual_scene.mouse_captured and Dialogic.current_timeline == null:
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
|
||||
if p:
|
||||
@@ -30,6 +31,10 @@ func _input(_event):
|
||||
if Input.is_action_just_pressed("pause"):
|
||||
pause = not pause
|
||||
|
||||
func _on_timeline_ended():
|
||||
if SceneManager.actual_scene.mouse_captured:
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
|
||||
func _on_resume_pressed():
|
||||
pause = false
|
||||
|
||||
|
||||
Reference in New Issue
Block a user